웹문서 유출방지처리
HTML/CSS
2008. 5. 24. 03:43
1. 데모 : http://www.ihelpers.co.kr/programming/work/view.html
2. 소스분석
3. 다운로드 : http://www.ihelpers.co.kr/programming/work/sourcelock.zip
2. 소스분석
- view.html
뷰어 HTML 문서로써 Referer의 활용을 위하여 iframe으로 view.php을 호출한다.
<HTML>
<HEAD>
<TITLE>view</TITLE>
</HEAD>
<BODY>
<iframe src="view.php?file=webdoc.html" height="100%" width="100%">
</BODY>
</HTML>
- view.php
view.html 이외의 경로에서 호출( 비정상적인 호출) 되었을 경우를 처리하는 프로그램으로
$HTTP_REFERER는 해당 page을 호출한 URL 정보를 가지고 있는 Header변수이다.
<?
if($HTTP_REFERER == "http://www.ihelpers.co.kr/programming/work/view.html"){
$docdir = "/programming/work/";
$url = $docdir . $file;
Header("Location: $url");
}
?>
- sourcelock.js
마우스 오른쪽키 및 문서선택을 제어하기 위한 자바스크립트 코드이다.
if (window.Event) // 넷스케이프에서만 대문자 E.
document.captureEvents(Event.MOUSEUP); // mouse up 이벤트를 잡음
function nocontextmenu() { // IE
event.cancelBubble = true
event.returnValue = false;
return false;
}
function norightclick(e) // Others
{
if (window.Event) {
if (e.which == 2 || e.which == 3)
return false;
} else
if (event.button == 2 || event.button == 3){
event.cancelBubble = true
event.returnValue = false;
return false;
}
}
document.oncontextmenu = nocontextmenu;
document.onmousedown = norightclick;
document.onselectstart=new Function("return false");
document.ondragstart=new Function("return false");
- webdoc.html
유출방지문서로써 sourcelock.js을 호출하고 있다.
<HTML>
<HEAD>
<TITLE>중요 Web 문서</TITLE>
<script language="javascript" src="/lib/sourcelock.js"></script>
</HEAD>
<BODY>
<pre>
중요 Web 문서
* CTRL-A, MouseDrag, 소스보기를 해보십시요.
</pre>
</BODY>
</HTML>
3. 다운로드 : http://www.ihelpers.co.kr/programming/work/sourcelock.zip