TIP게시판

제목 hook을 이용하여 IE6 접근 막기
글쓴이 변종원(웅파) 작성시각 2011/03/15 13:53:47
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 13545   RSS
1. 먼저 config/config.php 에서
$config['enable_hooks'] = TRUE;
로 셋팅을 해주고


2. config/hooks.php에 다음과 같이 추가를 합니다.
$hook['pre_system'][] = array(
               'function' => 'ie6_ban',
               'filename' => 'ie6_banned.php',   //application/hooks 디렉토리에 위치한 파일명
               'filepath' => 'hooks'
);
pre_system은 시스템 동작초기입니다. 자세한 hook 포인트는 매뉴얼 참고하시면 됩니다.


3. application/hooks/ie6_banned.php 파일에 아래와 같은 내용을 넣습니다.

<?php
	function ie6_ban() {

		if ( preg_match('/(MSIE 6)/',$_SERVER['HTTP_USER_AGENT']) ) {
?>
	<div style='border: 1px solid #F7941D; background: #FEEFDA; text-align: center; clear: both;  position: relative; '>
		<div style='width: 850px; height: 150px;  margin: 0 auto;  padding-top: 55px; overflow: hidden; color: black; '>
			<div style='width: 75px; float: left;'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-warning.jpg' alt='Warning!'/></div>
			<div style='width: 400px; float: left; font-family: Arial, sans-serif;'>
			<div style='font-size: 14px; font-weight: bold; margin-top: 12px;'>아직도 IE6를 사용하시는군요!<br>Codeigniter 한국사용자포럼은 IE6를 지원하지 않습니다.</div>
			<div style='font-size: 12px; margin-top: 6px; line-height: 12px;'>본 사이트를 보실려면 웹브라우저를 업데이트 하세요!</div>
			</div>
			<div style='width: 75px; float: left;'><a href='http://www.firefox.com' target='_blank'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-firefox.jpg' style='border: none;' alt='파이어폭스 다운로드' /></a></div>
			<div style='width: 75px; float: left;'><a href='http://www.microsoft.com/korea/windows/internet-explorer/' target='_blank'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-ie8.jpg' style='border: none;' alt='인터넷 익스플로러 8 다운로드'/></a></div>
			<div style='width: 73px; float: left;'><a href='http://www.apple.com/safari/download/' target='_blank'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-safari.jpg' style='border: none;' alt='사파리 다운로드'/></a></div>
			<div style='width: 73px; float: left;'><a href='http://www.google.com/chrome?hl=ko' target='_blank'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-chrome.jpg' style='border: none;' alt='구글 크롬 다운로드'/></a></div>
			<div style='width: 73px; float: left;'><a href='http://www.opera.com/download/' target='_blank'><img src='http://fs.textcube.com/blog/3/31900/attach/XfGpjgFbro.gif' style='border: none;' alt='오페라 다운로드'/></a></div>
		</div>
	</div>
<?php
		exit;
		}
	}
?>

포럼에 ie6로 접근하시면 위 안내문구가 뜨고 더이상의 접근은 안됩니다.

IE6 추방의 그 날을 위하여~~~~ ^^
 다음글 SmartEditor 사용하기
 이전글 hook 훅을 이용하여 페이지 로딩 이미지 적용하기 (2)

댓글

작돌이 / 2011/03/15 17:38:40 / 추천 0
좋아요! 
배강민 / 2011/03/16 11:36:30 / 추천 0
으흠... 막을까 말까...으흠... 으흠...
나이유미 / 2011/03/16 21:44:42 / 추천 0
 ie8사용자 입니다.
ie8로 접속을 못하고 있습니다.
수정해주세요...ㅠㅠ
변종원(웅파) / 2011/03/16 23:09:22 / 추천 0
저도 ie8인데요? 뭐 다른거 설치하신거 있으세요?
jois / 2011/03/20 14:42:51 / 추천 0
IE8이라도 'MSIE 6'이라는 문자열을 포함하고 있는 경우가 있습니다.
아래와 같이 체크하시면 거의 정확하게 할 수 있습니다.

if (strpos($_SERVER["HTTP_USER_AGENT"], 'Trident') === FALSE
  && strpos($_SERVER["HTTP_USER_AGENT"], 'MSIE 6') !== FALSE
  && strpos($_SERVER["HTTP_USER_AGENT"], 'NT 5.1') !== FALSE) {
    echo 'IE6는 접근 불가!';
    exit;
}


* IE8, IE9는 Trident라는 문자열 포함
* Windows XP에서의 IE6만.. (Windows 9x는 고려하지 않겠습니다...)

변종원(웅파) / 2011/03/21 10:15:50 / 추천 0
정모때 이야기가 나왔는데 jois님이 위와 같은 사항을 말씀해주셔서 부탁을 드렸습니다.

jois님 코드를 적용했습니다.

감사합니다.