SQL Injection 공격받은 스크립트 제거 II Administration

-- 제거 스크립트
CREATE Procedure RemoveStringFinal
 @FIND  VARCHAR(500),
 @REPLACE  VARCHAR(500)
as

DECLARE @TABLE_NAME VARCHAR(500)
DECLARE @COLUMN_NAME VARCHAR(500)
DECLARE @DATA_TYPE VARCHAR(500)
DECLARE db_cursor CURSOR FOR
  select  TABLE_NAME, COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WITH (NOLOCK)
  where table_name <> 'TB_User_Login_Info'
 
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @TABLE_NAME, @COLUMN_NAME, @DATA_TYPE

WHILE @@FETCH_STATUS = 0
BEGIN
       if @DATA_TYPE = 'varchar' or @DATA_TYPE = 'text' or @DATA_TYPE = 'ntext' or @DATA_TYPE = 'nvarchar'
          begin

    print @TABLE_NAME
    print @COLUMN_NAME
    print @DATA_TYPE
 
             EXEC FindReplace @TABLE_NAME,@COLUMN_NAME,'',@FIND,@REPLACE

          end     

       FETCH NEXT FROM db_cursor INTO @TABLE_NAME, @COLUMN_NAME, @DATA_TYPE
END

CLOSE db_cursor
DEALLOCATE db_cursor
GO

 

-- 값 대체 프로시져

CREATE PROCEDURE FindReplace
 (
 @TABLE  VARCHAR(200),
 @Field  VARCHAR(200),
 @WHERE VARCHAR(100),
 @Find  VARCHAR(500),
 @REPLACE  VARCHAR(500)
 )
 AS


 DECLARE @query VARCHAR(8000)

 SET @query  = 'IF EXISTS(SELECT * FROM '+ @TABLE+' Where '+@Field+' like ''%'+@Find+'%''   ) '  +
      'UPDATE ' +  @TABLE +
                ' SET ' +  @Field + '= REPLACE(CONVERT(varchar(8000),'
               + @Field + '),''' +  @Find + ''',''' + @REPLACE  +''')'
 IF(@WHERE <> '')
         SET @query = @query + ' WHERE '+@WHERE
      
 EXEC(@query)
--print(@query)
 GO

 

-- 사용법


exec RemoveStringFinal '<script src=http://s.ardoshanghai.com/s.js></script>',''


SQL Injection 공격 받은 스크립트 정보 제거 I Administration

DECLARE @T varchar(255), @C varchar(255);
DECLARE Table_Cursor CURSOR FOR
SELECT a.name, b.name
FROM sysobjects a, syscolumns b
WHERE a.id = b.id AND a.xtype = 'u' AND
(b.xtype = 99 OR
b.xtype = 35 OR
b.xtype = 231 OR
b.xtype = 167);
OPEN Table_Cursor;
FETCH NEXT FROM Table_Cursor INTO @T, @C;
WHILE (@@FETCH_STATUS = 0) BEGIN
  EXEC(
    'update ['+@T+'] set ['+@C+'] = left(
            convert(varchar(8000), ['+@C+']),
            len(convert(varchar(8000), ['+@C+'])) - 6 -
            patindex(''%tpircs<%'',
                      reverse(convert(varchar(8000), ['+@C+'])))
            )
      where ['+@C+'] like ''%<script%</script>'''
      );
  FETCH NEXT FROM Table_Cursor INTO @T, @C;
END;
CLOSE Table_Cursor;
DEALLOCATE Table_Cursor;

802.1x EAP XP 인증창 나오지 않는 사항 관련 레지스트리 조치 Administration

802.1x 지원하는 유선 이더넷 스위치에 XP단말이 접근된 경우, 유선 단말의 기본 설정이 수동모드, EAPoL-Start 메시지를 802.1x 스위치로부터 수신한 이후에만 인증절차를 수행함으로써, 인증 절차가 지연 되는 문제가 있습니다. 반면 무선에서 802.1x 접근하는 XP단말은 능동 모드, EAPoL-Start 메시지를 직접 보낼 있습니다. 만약 유선 환경에서도 능동 모드로 설정하고자 하려면 XP 단말의 레지스트리를

'HYKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\SupplicantMode' 기본값인 2 3으로 변경 하면 됩니다. 생성시 DWORD , 10진수 으로 생성

 

XP단말이 인증 창이 뜨지 않는 다면 'HYKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\Authmode=0' 만약 2로 되어 있으면 유저 인증을 하지 않겠다 입니다.


W2K3기반 SQL 2005 Cluster 구축 고려사항 Administration

Windows Server 2003 SP2 기반 SQL Server 2000 Clustering 구축 절차 및 구성 표준

Windows Server 2003 클러스터 설치

l  OS는 반드시 Windows Server 2003 SP2 이상, 모든 최신 중요/보안 업데이트를 적용합니다.

l  Windows Server 2003 Cluster를 올바르게 설치하고, 잘 동작하는지 확인
Guide to Creating and Configuring a Server Cluster under Windows Server 2003

 

클러스터 공유 디스크 확인 사항

l  클러스터 공유 디스크는 디스크 형식은 기본(BASIC) 이고, NTFS로 포맷되어야 함

l  공유 디스크에는 적절한 disk label이 붙입니다. (: DISK-S)

l  Windows Server 2003 클러스터는 GPT Disk 를 지원하지 않습니다.

l  Server clusters do not support GPT shared disks

l  How to Change a GPT disk into an MBR Disk (64-Bit Only)

l  클러스터 공유 디스크는 다중 디스크 실패를 예방하고 읽기/쓰기 모두 최상의 성능을 위해서는 반드시 RAID10 을 사용할 것을 권장합니다. RAID5는 저렴하지만 디스크 성능이 가장 떨어지므로 권장하지 않습니다.

l  클러스터 공유 디스크는 용도별로 운용 효율성을 높이고 성능을 최적화 하기 위해 적절한 볼륨 크기와 개수로 구분해야 합니다.

n  클러스터 쿼럼용 공유 디스크 – 최소 1GB 이상

n  MSDTC용 공유 디스크 – 최소 1GB 이상

n  SQL Data Log, Tempdb 용 공유 디스크 – SQL 서버 성능 최적화 및 운영 효율성을 위해 공유 디스크 볼륨을 적절히 구분할 필요가 있습니다.

n  기타 Application용 공유 디스크

 

SQL 2005 Database 스토리지 성능 최적화 고려 사항

l  SQL 2005 tempdb 가 성능에 미치는 영향이 크므로, tempdb 성능 최적화를 하시기 바랍니다. (tempdb 파일 개수 CPU 수 만큼 분리)

n  Capacity Planning for tempdb: http://msdn2.microsoft.com/en-us/library/ms345368.aspx

n  Optimizing tempdb Performance: http://msdn2.microsoft.com/en-us/library/ms175527.aspx

l  일반적인 SQL 2005 Database 스토리지에 대한 성능 최적화 구성 방법 및 Best Practice 는 다음 가이드를 참조하시기 바랍니다.

n  Physical Database Storage Design: http://www.microsoft.com/technet/prodtechnol/sql/2005/physdbstor.mspx

클러스터 Public Network 구성

l  각 노드의 Network 연결 이름을 구별하기 쉽도록 Public, Private으로 이름을 변경합니다.

l  네트워크 연결 – 고급 – 고급 설정 – 어댑터 및 바인딩 탭에서 Network Binding 순서를 다음과 같이 조정합니다.

n  Public 연결

n  Private 연결

l  클러스터 관리자에서 Public 의 속성은 “모든 통신(혼합 네트워크)로 설정합니다.

클러스터 Private Network(Heartbeat) 구성

l  클러스터 Heartbeat NIC cross-cable 이나 dummy hub로 서로 연결하고, Speed & Duplex mode 10MB or 100MB/Half Duplex 로 고정하는 것이 안정적인 Heartbeat 통신에 가장 좋습니다.

l  Gigabit NIC인 경우에도 속도를 Auto에서 10MB or 100MB /Half Duplex 로 고정합니다.

l  Private IP(heartbeat ) Public IP subnet 과 별도로 Dummy hubCross Cable로 구성

l  IP address 10.10.10.x (255.255.255.0) 과 같이 구성합니다.

l  KB258750 - Recommended Private "Heartbeat" Configuration on a Cluster Server 에 의거한 hearbeat 구성 점검

1.      네트워크 어뎁터의 구성에서 speed duplex mode 10Mbps/Half duplex를 권장합니다.

2.      Private 네트워크 연결의 등록정보에서 TCP/IP binding하고 그 외 모든 서비스는 체크 해제

3.      TCP/IP 등록정보 에서 Default Gateway DNS IP를 지정하지 않습니다.

4.      TCP/IP 등록정보 고급에서

A.     DNS 탭에서 DNS에 이 연결의 주소를 등록, DNS 등록에 이 연결의 DNS 접미사 사용을 모두 체크 해제

B.     WINS 탭에서 TCP/IP에서 NetBios 사용 안함 을 선택

5.      클러스터 관리자에서 Private 의 속성은 “내부 클러스터 통신에만 사용(개인 네트워크)로 설정합니다.

6.      클러스터의 속성 – 네트워크 우선 순위를 다음과 같이 변경함

A.     Private 네트워크

B.     Public 네트워크

 

클러스터 서비스 계정 준비

 

l  클러스터 서비스용 도메인 계정: ) Domain\clusterservice

l  SQL 서버 서비스용 도메인 계정 생성: ) Domain\sqlservice

n  SQL 서비스 계정의 속성중 "password never expires"를 체크

n  클러스터 각 노드의 Local Administrators 그룹에 SQL 서비스 계정을 멤버로 추가

n  기타 권한들은 sql 가상 서버 설치 중에 자동으로 부여됨

SQL 2005 에서 사용할 그룹 준비

l  SQL 2005 설치중에 필요한 3개의 클러스터형 서비스 도메인 보안 그룹 생성

n  SQL Server: SQLServerGroup

n  SQL Server Agent: SQLAgentGroup

n  Full-Text Search: SQLFTEGroup

MSDTC 리소스 구성 권장

l  MSDTC 를 사용할경우에는 MSDTC용 별도의 1GB 파티션의 공유 디스크 준비

l  MSDCT 리소스는 클러스터 쿼럼 그룹과 다른 별도의 클러스터 그룹으로 설치

l  구성 방법
KB301600 - How to configure Microsoft Distributed Transaction Coordinator on a Windows Server 2003 cluster

l  DTC 보안 구성

n  네트워크 COM+ 액세스 사용 네트워크 DTC 액세스 사용

n  구성요소서비스내컴퓨터 속성 – MSDTC – 보안 구성

n  필요할 경우 ‘인바운드 허용’ 및 ‘아웃바운드 허용’ 체크를 모두해주셔야 하며 특히 인증방식에 대해서는 ‘인증 필요 없슴’ (Default : 상호 인증 필요)로 변경

SQL 2005 Failover Cluster 설치시 확인 사항

1.      SQL Server 2005 Failover Clustering 설치 가이드:
SQL Server 2005 Books Online (September 2007) - Failover Clustering

http://msdn2.microsoft.com/en-us/library/ms189134.aspx

2.      클러스터 그룹 생성 및 SQL 서버가 사용하는 공유 디스크 추가

3.      Cluster Node에 로컬 Admin 권한으로 로그인하고 해당 클러스터 그룹을 해당 노드가 소유하는지 확인

4.      설치할 구성 요소 결정 – [고급] 으로 진행
 

클러스터 설치 Verification

 

클러스터 설치후 다음 문서를 참조하여 점검 수행
Verifying Your Failover Cluster Installation

1.     Verifying Connectivity and Name Resolution from a Server Node
-
각 노드에서 상대 노드로 다음 IP(public ip, private ip, cluster ip, sql vertual ip)들에 대해 ping 테스트를 수행한다
.
-
각 노드에서 Cluster Name으로 ping 테스트를 수행한다
.
ping ClusterName

2.      Verifying Connectivity and Name Resolution from a Client
-
클라이언트에서 클러스터의 모든 노드에 대해 ping IP/ServerName/Cluster Name 테스트를 수행

-
클라이언트에서 ping SQL IP 수행

-
클라이언트에서 ODBC client network utility를 이용해 SQL connectivity를 테스트

3.      SQL 서버 백업 테스트
주요 시스템 DB에 대해 각 노드에서 백업이 되는지 테스트

4.      Verifying the Service Account
- select * from ::fn_virtualservernodes()

5.      Verifying Shared Drive
- select * from ::fn_servershareddrives()

6.      그룹 이동으로 각 클러스터 그룹이 다른 노드로 정상적으로 failover 가 되는지 확인

클러스터 자동 Failover 시나리오별 테스트

Test1 – 클러스터 관리자에서 특정 리소스에 대해 오류 만들기

테스트 방법: 클러스터 관리자 – 특정 리소스를 오른쪽 마우스로 선택 - “오류 만들기” 클릭

예상 결과: 해당 리소스가 실패 상태가 되었다가 다시 바로 온라인 상태로 되어야 함

 

Test 2: 900 초 이내에 임계값을 초과한 오류 만들기

테스트 방법: Test 1 - “오류 만들기”를 900초 이내에 해당 리소스의 임계값(: 3) 이상  수행

예상 결과: 임계값(3)을 초과하여 “오류만들기”를 수행하면 해당 리소스가 “그룹에 영향을 줌”이 체크된 경우 다른 노드로 failover 가 일어나야 함

 

Test 3: 클러스터 서비스 중지 테스트

테스트 방법: SQL 가상 그룹을 소유한 노드에서 Cluster Service 중지

예상 결과: 해당 노드의 모든 리소스가 다른 노드로 failover 가 되어야 함

 

Test 4: Active Node 시스템 shutdown

테스트 방법: SQL 가상 그룹을 소유한 노드를 시스템 종료

예상 결과: 해당 노드의 모든 리소스가 Passive 노드로 failover 되어야 함

 

Test 5: Private heartbeat 네트웍 케이블 제거 테스트

테스트 방법: SQL 가상 그룹을 소유한 노드의 Heartbeat network 케이블을 뽑는다.

예상 결과: heartbeat traffic public network 으로도 이루어지기 때문에 failover가 되면 안됨

 

Test 6: public 네트웍 케이블 제거 테스트

테스트 방법: SQL 가상 그룹을 소유한 노드의 Public Network 케이블을 뽑는다.

예상 결과: 해당 노드의 모든 리소스가 다른 노드로 failover 되어야 함

참조 자료: 286342 Network Failure Detection and Recovery in Windows Server 2003 Clusters

 

Test 7: 응급 종료(Emergency Shutdown) 테스트

주의!!!  Emergency shutdown 은 시스템 강제 종료가 발생하여 데이터 corruption 과 손실을 일의킬 수 있으므로 이 테스트는 실제 운영 환경에서는 절대로 수행 하지 마십시오.

수행 방법: Ctrl-Alt-Del 을 눌러 나온 로그온 화면에서 Ctrl 을 누른 상태에서 [시스템 종료] 버튼을 누른다

예상 결과: 해당 노드의 모든 리소스가 다른 노드로 failover 되어야 함


[802.1x 윈도우 클라이언트 설정/인증 Tap 안 뜰때] Administration

@ 증상 : 기존의 Windows XP SP2 이하 버전에서는 802.1x 인증 처리 화면이 나오는데 SP3에는 안되요!!

 
 

@ 해결 : XP SP3 이상(즉, Vista, Windows7)에서는 802.1x 기능 체크해서 활성화 해주셔야 됩니다.

 
  


 
 

1. SP3에서 문제 화면


 
 

아래처럼 인증탭 조차 나오지 않습니다. 물론 인증 처리가 되지 않아서 통신도 안됩니다.


 
 

2. 원인 확인 및 해결

 
 

----------기존 XP SP2 아래에서 지원 되는 내용-----------

802.1x 를 지원하는 유선 이더넷 스위치에 XP단말이 접근된 경우, 유선 단말의 기본 설정이 수동모드, 즉 EAPoL-Start 메시지를 802.1x 스위치로부터 수신한 이후에만 인증절차를 수행함으로써, 인증 절차가 지연 되는 문제가 있습니다. 반면 무선에서 802.1x 접근하는 XP단말은 능동 모드, 즉 EAPoL-Start 메시지를 직접 보낼 수 있습니다. 만약 유선 환경에서도 능동 모드로 설정하고자 하려면 XP 단말의 레지스트리를

'HYKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\SupplicantMode' 의 기본값인 2를 3으로 변경 하면 됩니다. 생성시 DWORD 값, 10진수 으로 생성

 
 

XP단말이 인증 창이 뜨지 않는 다면 'HYKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\Authmode=0' 만약 2로 되어 있으면 유저 인증을 하지 않겠다 입니다.

 
 

 
 

Windows XP 서비스 팩 2 (SP2), 유선 및 무선 연결을 모두 무선 Zero 구성 (WZCSVC) = Wireless Zero Configuration Service 서비스에 의해 처리됩니다.

또한 이 서비스를 항상 실행 중입니다.

 
 

 
 

 
 

----------XP SP3 이상에서 지원 되는 내용-----------

 
 

XP SP3 이상에서는 더 이상 위 register 값을 사용하지 않습니다.

 
 

Windows XP SP3에 NAP (네트워크 액세스 보호) 통합 일부로 이 WZCSVC 기능은 다음과 같은 별도의 서비스는 나뉩니다.

 
 

* 해당 WZCSVC 서비스

* 유선 자동 구성 서비스 (DOT3SVC)

 
 

Windows XP SP3을 WZCSVC 서비스 무선 연결을 관리합니다.

유선 자동 구성 서비스 유선된 연결을 관리하고 이 서비스의 시작 유형을 수동 구성됩니다.

따라서 유선 자동 구성 서비스를 수동으로 시작할 때까지 802.1 X 유선된 네트워크 연결할 수 없습니다.

 
 

아래 처럼 XP SP3 이상에서는 유선 802.1x 인증을 하겠다는 서비스가 따로 Wired AutoConfig

나와 있습니다. 기본이 꺼져 있으므로 시작해주셔야 됩니다.

물론 무선 802.1x 인증은 아래 WZCSVC 활성화 되어 있어야 되겠지요^^;


 

활성화 후 확인


 
 

아래 처럼 ID/PW 인증 정보 입력 창이 나오게 됩니다~~

 
 

* 아래 참고 사이트에 AD 환경에서 XP3 이상의 PC에 유선802.1x 서비스를 자동 시작 되도록

배포 하는 방법 도 있습니다. (kb953650)

 
 

 
 

3. 참고 사이트

http://support.microsoft.com/kb/953650

http://support.microsoft.com/kb/949984

http://securityuncorked.com/2008/07/wired-8021x-and-windows-xp-sp3-yes-you-can/

 
 



Sim City 4 & Rush Hou trainer 심시티4 & 러시아워 트레이너(공략/치트키) 게임

Sim City 4 & Rush Hou trainer 심시티4 & 러시아워 트레이너(공략/치트키)

 

CTRL+X 키를 누른뒤 아래의 코드를 타이핑하시오

stopwatch - 24시간 잠시멈춤/재개

whatimeizit - 당신이 원하는 시간으로 시간을 설정할수있습니다.

whererufrom - 도시의 이름을 당신이 원하는 새로운 이름으로 바꿉니다.

hellomynameis - 시장의 이름을 당신이 원하는 새로운 이름으로 바꿉니다.

you don`t deserve it - 모든 보상금을 활성화 시킵니다.

sizeof - 확대를 증가시킵니다.

weaknesspays - 1,000의 수치를 국고에 더합니다.

fightthepower - 모든 건물의 전력 수요를 제거합니다.

zoneria hides empty zone color
>
>tastyzots toggles zots
>
howdryiam - 모든 건물의 수도 수요를 제거합니다.

첨부파일 여시면 공략법나와요~~

sc4rushhour1.1.638tr.exe


Enhanced SQL Server Security Auditing Administration

 

Enhanced SQL Server Security Auditing

by MAK [Muthusamy Anantha Kumar]

Applies to: SQL Server 7.0 and 2000.

Security audit in SQL server captures only successful and failed logins. It does not capture the application that uses the login. Login used by an application may have full read and write access on all of the tables and procedures but the application restricts the users by providing a front-end which will allow them to see only a few columns, tables etc. However, certain users out of curiosity may log on to the database using SQL Query tools such as Enterprise manager and Query analyzer, using production login information. The following process will capture such un-authorized users who log on to the SQL server.

Process

All of the processes in SQL Server can be viewed by querying the system table "sysprocesses." This whole article is based on that table.

Step1: Create a job with one job step.

Job:

Job Step

Step2: Copy and paste the code below into the command window of the job step.

select identity(int,1,1) as traceid, a.name as [Database],
ltrim(rtrim(convert(varchar,b.spid))) as spid,ltrim(rtrim(b.loginame)) as loginame,ltrim(rtrim(b.program_name))
as program_name,ltrim(rtrim(b.hostname)) as hostname into #audittrace from master.dbo.sysprocesses b (nolock) ,
master.dbo.sysdatabases A where a.dbid = b.dbid and ltrim(rtrim(loginame)) not in ('DBA1','domain\systemaccount','DBA2','domain\administrator') and ltrim(rtrim(left(program_name,8))) in ('MS SQLEM','SQL Quer')--drop table #audittraceselect * from #audittracedeclare @count intdeclare @message varchar(1000)set @count = (select count(*) from #audittrace)While @count >=1 beginset @message = (select 'SQL Security Enhanced Auditing: SPID =' + spid +' ,
Database: ' + [Database] + ' ,Loginame: ' + loginame + ' ,hostname: '+ hostname +' , Program Name: ' + program_name from #audittrace where traceid = @count)set @count = @count-1RAISERROR (@message, 16, 1) with logenddrop table #audittrace

Step3: Make the job Success/Failure flow to report success on both success and failure.

Step4:


Create schedule for this job to run every 15 minutes on a daily basis.




Result:

When the job executes, if it finds un-authorized users using Enterprise Manager or Query Analyzer it creates an entry in the SQL Server Error log, the Event viewer's Application log and also in the job history.

SQL Server error log:

Application log

Job History

Note: Change the login list in the code [('DBA1','domain\systemaccount','DBA2','domain\administrator') to reflect the list of logins you do not want to capture as an un-authorized user. For capturing different applications, change the application list in the code from ('MS SQLEM','SQL Quer') to the list of applications you would like to capture.

Conclusion:

In this way, you can capture the un-authorized use of logins that connect to SQL Server. This is an enhanced version of SQL Server internal security auditing. This helps not only in capturing the unauthorized user but also for capturing un-authorized applications that are being connected to SQL Server.


=================================================================================================================

-- c2 Audit 모드 설정

EXEC sp_configure 'show advanced option', '1'

go

reconfigure

go

EXEC sp_configure 'c2 audit mode','1'

go

RECONFIGURE

go


-- 감사관련 정보가 들어있는 테이블

select * from master.dbo.sysdatabases

select * from master.dbo.sysusers

select * from master.dbo.sysprocesses


-- Audit Trace 정보를 만드는 부문 : 적절하게 수정해서 사용
drop table #audittrace

select identity(int,1,1) as traceid, a.name as [Database],
 ltrim(rtrim(convert(varchar,b.spid))) as spid,
ltrim(rtrim(b.loginame)) as loginame,ltrim(rtrim(b.program_name))
 as program_name,ltrim(rtrim(b.hostname))
as hostname, b.login_time as login_time, b.cmd as command, b.net_address as net_address
into #audittrace from master.dbo.sysprocesses b (nolock) ,
 master.dbo.sysdatabases A where
a.dbid = b.dbid and ltrim(rtrim(loginame)) not in
('DBA1','domain\systemaccount','DBA2','domain\administrator', 'NT AUTHORITY\SYSTEM')
-- and ltrim(rtrim(left(program_name,8))) in ('MS SQLEM','SQL Quer')


-- 아래는 생성된 정보를 출력하는 루틴
select * from #audittrace

declare @count int
declare @message varchar(1000)
set @count = (select count(*) from #audittrace)

While @count >=1
begin
set @message = (select 'SQL Security Enhanced Auditing: SPID =' + spid +'     ,
 Database: ' + [Database] +
'    ,Loginame: ' + loginame + '    ,hostname: '+ hostname +'    , Program Name: ' +
program_name from #audittrace where traceid = @count)
set @count  = @count-1
RAISERROR (@message, 16, 1) with log
end



 


윈도우에서 오라클 잠긴 계정 풀기 Administration

sqlplus에 system으로 로그인하여 다음 명령어 수행

SQL>alter user <account_name> account unlock;

ASP.NET Menu and IE8 rendering white issue WebDesign

ASP.NET Menu and IE8 rendering white issue

If you are using the ASP.NET Menu control, you might encounter under certain circumstances an issue where the menu appears as a white box in IE8 Standards Mode.

image

What IE8 is doing IS correct (by design), in the sense that in Standards mode IE8 is following the standards. Specifically, (element).currentStyle.zIndex returns "auto" in Standards mode when zindex has not been set. The ASP.NET Menu control assumes a different value.

I’d like to suggest a few possible workarounds to solve quickly the issue (note, you can use either one of them, depending on your scenario):

  1. Overriding the z-index property
  2. Using CSS Friendly Control Adapters
  3. Adding the IE7 META tag to the website

1 – Overriding the z-index property

You can manually set the z-index property of the Menu items using the DynamicMenuStyle property of the asp:Menu control (note lines 9-14 and 20). Full source code is:

   1: <head runat="server">
   2:     <title></title>
   3:     <style type="text/css">
   4:         body
   5:         {
   6:             background-color: Silver;
   7:         }
   8:     </style>
   9:     <style type="text/css">
  10:         .IE8Fix
  11:         {
  12:             z-index: 100;
  13:         }
  14:     </style>
  15: </head>
  16: <body>
  17:     <form id="form1" runat="server">
  18:     <div>
  19:         <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1">
  20:             <DynamicMenuStyle CssClass="IE8Fix" />
  21:         </asp:Menu>
  22:         <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
  23:     </div>
  24:     </form>
  25: </body>

This solution is the least intrusive, but it require a page-by-page update (unless your menu is a Master Page).

2 – Using CSS Friendly Control Adapters

Thanks to Tim for this solution. In order to add the CSS Friendly adapter to your project, you will need to:

  1. Download CSSFriendly.dll and CSSFriendlyAdapters.browser from here.
  2. Inside your project, add a reference to CSSFriendly.dll.
  3. Add the special folder App_Browsers to your project, and copy the file CSSFriendlyAdapters.browser.

The CSS Friendly Control Adapters will render all the listed controls (Menu, TreeView, DetailsView, …) using CSS and HTML standards.

3 – Add the IE7 META tag to the project

By default, Windows Internet Explorer 8 will attempt to display content using its most standards-compliant mode, the IE8 Standards mode. However you can still switch to the IE7 Standards mode adding a particular META TAG to the head of the page:

   1: <html xmlns="http://www.w3.org/1999/xhtml">
   2: <head runat="server">
   3:     <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
   4:     
   5:     <title>IE8 ASP.NET Fix</title>
   6: </head>
   7: <body>

Using the tag, the website in IE8 will look and work in the same way as it does in IE7.

You can do a “live test” of this feature without the need to modify the page, using the new IE8 Developer Toolbar (press F12 to open the toolbar, and switch the Document Mode to IE7 Standards).

image

Note that you can set up the META tag at page level, at web.config level, or in IIS, or in Apache, …

What happens next?

The ASP.NET team is currently working on this issue and we will most likely create an official KB to address this issue before IE goes RTW.

EDIT: Hotfix are now available. Check here. 

Thanks to all the community feedbacks we received so far.


Linux Kernel Compile & Upgrade Administration

Linux kernel 2.4.*
#make mrproper
#make menuconfig
#make dep
#make clean
#make bzImage
#make modules
#make modules_install
#make install

Linux kernel 2.6.*
#make mrproper
#make menuconfig
#make
#make modules_install
#make install


헤더파일 관련 에러 발생시 조치 방법

/usr/src 밑에 압축을 풀고 난후 디렉토리를 아래와 같이 linux 폴더에 링크해줍니다.

ln -s 2.6.x소스디렉토리 linux  --> 대부분 이부분이 안되서... 그런것일 수 있습니다.^^

 

하신후

cd /usr/include 로 이동해서

ls -d asm linux scsi  명령으로  3개의 디렉토리가 존재 하는지 확인하시구요,

있으면 이디렉토리들은 삭제해줍니다.

 

혹씨 모르니까 디렉토리를 다른이름으로 변경해 놓구요..

예를 들어 mv asm  asm_old 이렇게요...

 

rm -rf asm linux scsi

 

위와 같이 삭제 하셨으면

ln -s /usr/src/linux/include/asm-i386 asm
ln -s /usr/src/linux/include/linux linux
ln -s /usr/src/linux/include/scsi scsi

 

위에서 처럼 소프트 링크를 걸어주세요..

 

링크가 제대로 걸렸는지 확인해보시구요..

 

cd /usr/src/linux  명령으로 다시 컴파일 할곳으로 이동하셔서

(위의 경로는 맨위에서 설명했듯이 /usr/src/2.6.x디렉토리를 소프트 링크한것입니다.)


make memuconfig 해보세요....


또 다른 헤더 에러가 발생하면


/usr/include 디렉토리 밑에 관련 헤더 디렉토리 위치를

위와 같은 방법으로 소프트 링크를 걸어주면 됩니다.


 



1 2 3 4 5 6 7


메모장