쉼터

웹페이지 훔쳐보기...

2006. 8. 21. 01:15 : 공부

많은 웹페이지들은 소스공개를 막고자...
onContextMenu="return false" onDragStart="return false"  onSelectStart="return false"
와 같은 스크립트를 이용한다...
또, 웹페이지의 디렉토리를 포함한 파일명이나 쿼리스트링같은 값들이 주소 표시줄에 보이지 않게...
frame 태그를 이용한다...

view-source:를 이용해서 웹페이지 소스를 볼 수 있지만...
xp서비스팩2가 적용된 IE에서는 실행이 안된다...

asp, php와 같은 언어를 사용해서 소스를 얻어 올 수 있지만...
XMLHTTPXMLHttpRequest를 이용해서 간단히 소스를 얻어 올 수 있다...

<html>
<head>
<script type="text/javascript">
function getPage(f)
{
var objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
objHTTP.Open('get',f["url"].value,false);
objHTTP.Send();
source.innerHTML="<xmp>"+objHTTP.responseText+"</xmp>";
return false;
}
</script>
</head>
<body>
<form name="form" onSubmit="return getPage(this);">
<input type="text" name="url" value="http://www.daum.net">
<input type="submit" value="소스보기">
</form>
<br>
<div ID="source" />
</body>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
var xmlHttp;

function createXMLHttpRequest() {
  if (window.ActiveXObject) {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else if (window.XMLHttpRequest) {
       xmlHttp = new XMLHttpRequest();
  }
}
 
function getPage(f) {
  createXMLHttpRequest();
  xmlHttp.open("GET", f['url'].value, false);
  xmlHttp.send(null);
  document.getElementById('source').innerHTML="<xmp>"+xmlHttp.responseText+"</xmp>";
}
</script>
</head>

<body>
<form action="#">
<input type="text" name="url" value="http://www.daum.net">
<input type="button" value="소스보기" onclick="getPage(this.form);"/>
<br>
<div id="source">&nbsp;</div>
</form>
</body>
</html>

Posted by pchun