网络编程
位置:首页>> 网络编程>> JavaScript>> 怎么让别人看不到网页源代码(3)

怎么让别人看不到网页源代码(3)

  发布时间:2008-03-21 13:06:00 

标签:源代码,禁止,网页,js

中级深入篇

上篇中是采用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代码应加在原文件的<head></head>元素区内.
代码中字段sWord的值hibow为登陆被保护页面的密码.你可将自定义的密码告诉允许访问该页面的用户,仅当密码被正确输入后浏览者才可看见页面内容,否则将循环停留在密码登入框中(见图2),进不去喽J

为了达到保护页面源代码及数据的最佳效果,可将本文介绍的所有方法相结合

这样是锁不住代码的,只要先点左健不放,再点右健,在放左建,就能看了。如果你的主页是用ASP,PHP,或者CGI购建的,一般对方是看不到源代码的。防右键的方法已经过时了还有一个办法就是把回车全去掉,把整个文件压缩。 这样看到也看不清楚, 还不影响动行。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com