1. 程式人生 > >方法彙總 禁止檢視網頁原始碼全攻略

方法彙總 禁止檢視網頁原始碼全攻略

<Html>
<head>
<title>歡迎光臨網頁教學網</TITLE>
</HEAD>
<FRAMESET COLS="1,*" frameborder=0 framespacing=0>
<FRAME SRC="PS.HTM" NAME="count" noresize scrolling=no>
<FRAME SRC="search.HTM" NAME="search" noresize> 
</frameset>
</html>

  將該檔案存為主檔案index.htm,建立一空檔案ps.htm,原頁面檔案現另存為index.html(與主檔名僅在副檔名上略有不同).採用零框架技術有以下優點:

  1.瀏覽者在用工具欄中的原始碼項無法直接得到頁面程式碼,僅能得到框架主檔案的程式碼(即上述程式碼).

  2.可利用左幀檔案ps.htm載入一些網頁的高階應用,如背景音樂,網頁計數器,cookie應用等.

  其次,應遮蔽滑鼠右鍵的顯示原始檔功能,即在所需保護的頁面檔案(上例中為index.html檔案)中加入以下程式碼:(當右鍵被點選時將出現圖1所示提示框)

<script Language="JavaScript">
function click() {
if (event.button==2event.button==3) {alert(/'"用右鍵要幹嘛?"^_^/') }}
//引號中提示可自定義
document.onmousedown=click
</script>

  最後,為防止一些瞭解網頁編寫語言的人通過框架主檔案中的連線手工找出被保護頁面後獲得原始碼,還應在被保護頁面中加入以下程式碼:

<script language="javascript">
if(top==self)top.location="index.html"
</script>

  這段程式碼將提供跳回功能,使瀏覽器無法直接看到該頁,而是自動跳回框架主檔案index.html,起到保護該頁面的作用.

  在完成以上三個步驟,對你的主頁按照框架結構進行了修改後,你的主頁原始碼將不能被瀏覽者在網上獲得,可以小小慶賀一下了J

  另外,若你確實不想用框架頁面,那麼可用特殊的方法開啟瀏覽器新視窗,再結合遮蔽滑鼠的功能程式碼後亦可收到同樣的效果,開啟方法如下:

<a href=javascript:window.open("key.html","被保護頁面的標題","height=170,width=290,left=0,top=0,toolbar=0,location=0,
Director
ies=0,status=0,menubar=0,
scrollbars=0,resizable=0,copyhistory=0") target=_blank>開啟被保護頁面的連線</a>

  程式碼中,key.html為被保護頁面的檔名.新視窗的高度height與寬度width的值可由使用者自定義,單位為畫素.

  注意:嵌入式的 JavaScript程式碼應加在原檔案的元素區內.

  中級深入篇

  上篇中是採用JavaScript技術達到保護線上網頁的目的.正所謂"強中自有強中手",有些人使用Webzip,TelePro,Offline等離線瀏覽器下載你的主頁,就可繞過JavaScript保護線上網頁的防線,將網頁下載後再慢慢剖析.有矛必有盾,你亦可用JavaScript建立的動態轉向檔案是大多數離線瀏覽器無法下載你的網頁,方法如下.你可將上例中的被保護頁面更名為index1.html,而將檔案index.html改為以下程式碼:

<script>
window.location.replace(/'index1.html/') //本句產生網頁跳轉功能
</script>

  對Internet Explorer5新增的離線瀏覽功能(離線工作),以上方法有時失靈,可通過對網頁設定cookie的高階技術達到保護的目的.一旦cookie超期,即使網頁已被下載到本機也無法瀏覽,呵呵,厲害吧:)

  應加入檔案中的cookie程式碼段如下:

<script language="JavaScript">
function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie (name, value)
{
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (2 < argc) ? argv[2] : true;
var path = (3 < argc) ? argv[3] : true;
var domain = (4 < argc) ? argv[4] : true; 
var secure = (5 < argc) ? argv[5] : true; //安全模式生效
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function ResetCounts(name)
{
visits = 0;
SetCookie(expdate , "/", true, true);
location.reload();
}
</script>
<script language="JavaScript">
var expdate = new Date();
var visits;
expdate.setTime(expdate.getTime() + (24*60*60 * 1000)); //COOKIES超期時間設定,此處為1天
if(!(visits = GetCookie("visits")))
visits = 0;
visits++;
SetCookie(expdate, "/", true, true);
</script>

  如果你已經做到這一步了,那麼你的網頁所受到的保護就不再是常規意義上的出於道德觀念或版權意識,而是真正的技術上的保護手段.

  高階研究篇

  對網頁的保護並不僅僅是涉及原始碼的保護,更應該包含對網頁資料或網路資料庫的保護.對網路資料庫的保護可採用基於IIS的CGI介面的認證程式,SQL的安全技術,ASP安全認證程式,Java Applet安全認證程式等手段,屬於更高層次的安全措施,包含大量內容,本文不作介紹.本篇將介紹應用JavaScript技術構造的頁面認證介面.將僅供有限人群訪問的需要資料保護的頁面中加入以下程式碼:

<script LANGUAGE="JAVASCRIPT">
<!--
loopy()
function loopy() {
var sWord =""
while (sWord != "hibow") {
sWord = prompt("輸入正確密碼登陸! ")
}
alert("身份識別......允許登陸")
}
//-->
</script>

  注意:嵌入式的 JavaScript程式碼應加在原檔案的元素區內.

  程式碼中欄位sWord的值hibow為登陸被保護頁面的密碼.你可將自定義的密碼告訴允許訪問該頁面的使用者,僅當密碼被正確輸入後瀏覽者才可看見頁面內容,否則將迴圈停留在密碼登入框中(見圖2),進不去嘍J

  這樣是鎖不住程式碼的,只要先點左健不放,再點右健,在放左建,就能看了,如果你的主頁是用ASP,PHP,或者CGI購建的,一般對方是看不到原始碼的。防右鍵的方法已經過時了 還有一個辦法就是把回車全去掉,把整個檔案壓縮。這樣看到也看不清楚, 還不影響動行。