禁止查看网页源代码
网页保护代码

禁止另存网页、屏蔽选中、粘贴、复制、剪切、右键菜单(精)自己2011-05-21 20:581、禁止另存网页,把如下代码加入到网页<body></body>中程序代码<noscript><iframe src=*.html></iframe></noscript>2、禁止缓存可以前台HTML使用程序代码<meta http-equiv="pragma" content="no-cache" />3、禁止剪切或截屏(ie有效,原理就是清空剪切板),可以禁止简单的截屏。
程序代码<script language="javascript"><!--function testclip(){try {if(clipboardData.getData("Text")||clipboardData.getData("HTML")||clipboardData.getData("URL")){null;}}catch(e){clipboardData.setData("Text","")}setTimeout("testclip()",500)}testclip();//--></script>4、屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键程序代码<script>function KeyDown(){//alert("ASCII代码是:"+event.keyCode);if ((window.event.altKey)&&((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键←(window.event.keyCode==39))){ //屏蔽 Alt+ 方向键→alert("不准你使用ALT+方向键前进或后退网页!");event.returnValue=false;}if ((event.keyCode==8) || //屏蔽退格删除键(event.keyCode==116)|| //屏蔽 F5 刷新键(event.keyCode==112)|| ///屏蔽 F1 刷新键(event.ctrlKey && event.keyCode==82)){ //Ctrl + Revent.keyCode=0;event.returnValue=false;}if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+nevent.returnValue=false;if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10 event.returnValue=false;if (window.event.srcElement.tagName == "A" &&window.event.shiftKey)window.event.returnValue = false; //屏蔽 shift 加鼠标左键新开一网页if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4window.showModelessDialog("about:blank","","dialogWidth:1px;dia logheight:1px");return false;}}function Showhelp(){alert("呵呵");return false;}</script>5、隐去浏览器中当鼠标移到图片上跳出的工具栏程序代码<img galleryimg="no">或者程序代码<meta http-equiv="imagetoolbar" content="no"></head>6、屏蔽鼠标选中页面文字,屏蔽鼠标右键菜单(IE)程序代码<script language="javascript" type="text/javascript">document.oncontextmenu=new Function("event.returnValue=false;");document.onselectstart=new Function("event.returnValue=false;");</script>7、屏蔽选中、粘贴、复制、剪切、右键菜单程序代码<body id="body" onselectstart="return false" onpaste="return false" oncopy="return false;" oncut="return false;" oncontextmenu="return false;">8、禁止打印保存禁止打印(打印出来是空白)<style>@media print{BODY {display:none}}</style>禁止选中<body><body topmargin="0"leftmargin="0"onmouseup="document.selection.empty()">禁止保存网页<noscript><iframe></iframe></noscript>定时清理粘贴板,可用于防止复制(这种太恶心,打开这个网页时什么都别想复制粘贴)setInterval("window.clipboardData.setData('Text','请关闭分行网站')",100)在页面获得焦点及失去焦点时清除粘贴板,也可用于防止复制<body>9、禁止网页图片出现保存,打印,发邮件和收藏的按钮当鼠标放到图片上时,会出现保存,打印,发邮件和收藏的按钮,如果想禁止它。
vue项目防止别人看到源码的方法

vue项目防止别人看到源码的方法在Vue项目中,确保源代码的安全性非常重要。
虽然无法完全防止他人查看源码,但可以采取一些方法来有效地减少该风险。
1. 使用构建工具:使用构建工具(如Webpack)来打包项目,将源代码转换为压缩的、难以阅读的代码。
这样可以使源代码难以理解和修改,增加对源代码的保护。
2. 混淆代码:通过使用混淆工具(如UglifyJS)来混淆代码,将代码中的变量、函数名等进行重命名,使其更难以理解和修改。
这将增加阅读和修改源代码的难度。
3.文件加密:使用加密工具对敏感文件进行加密,例如对包含重要逻辑或敏感信息的文件进行加密处理。
这将使其他人无法直接打开和查看这些文件。
4.客户端验证:在服务器和客户端之间进行数据校验,确保只能获取到应该被获取到的内容。
这样可以防止恶意用户通过修改客户端代码来获取未经授权的信息。
5.接口访问控制:通过实现接口访问控制,限制对服务端接口的访问权限,只允许授权的客户端进行访问。
这样可以防止未经授权的人员获取到源码中的敏感数据或接口。
6.资源保护:对项目中的资源文件(如图片、音频等)进行加密或混淆处理,使其难以被复制或替换。
这将防止其他人获取到原始的资源文件。
7. 使用第三方插件:使用一些专门用于保护Vue项目源码的插件。
这些插件可以对代码进行加密、混淆或脱离,增加源代码的安全性。
8.安全审计:定期进行安全审计,发现安全漏洞并及时修复。
这样可以增加对项目源代码的保护,并防止未经授权的访问和使用。
9.避免硬编码敏感信息:确保敏感信息(如数据库密码、API密钥等)不会直接硬编码到源代码中。
可以将这些信息存储在配置文件或环境变量中,以免被他人轻易获取。
10.安全培训:对项目开发人员进行安全意识培训,提高他们对源代码安全性的重视和保护的意识。
这样可以减少因开发人员的疏忽导致源代码泄露的风险。
需要注意的是,以上方法可以有效地减少源代码泄露的风险,但无法完全防止他人获取源代码。
网页禁止保存复制代码大全

function click() { if (event.button==2)
{alert('你好,右键已被禁止使用'); } } document.onmousedown=click
</script>
4,忽视右键 <body oncontextmenu=\"return false\"。结合起来禁止左右键
11,浏览器有默认的网页编辑软件(一般为frontpage或者word),只要在快捷工具栏中点击相应的按钮,或者依次选择“文件”→“使用Microsoft Frontpage (或者Microsoft Word)编辑”,即可在相应软件的编辑窗口中显示网页的全部内容,这个时候就可以进行复制或修改了。
9. 如果是图片,直接将想要的图片用左键拖着,然后按下“WIN+D”键,这样一来就可以拖到桌面上保存(此方法适用于单手操作较灵活的同志)。
10. 查看源代码如果发现用了这样的代码:你可以在地址栏键入:javascript:alert(document.oncontextmenu='')回车,确定对话框后,直接使用右键。另外一个有意思的解决办法:就是把下面这段代码复制到地址栏,然后按回车键。之后就可以复制当前页面了。 javascript:alert(document.onselectstart = document.oncontextmenu= document.onmousedown = document.onkeydown= function(){return true;});
9,不能使用右键或者不能看到源程序或源代码等,输入代码:
IE无法查看源文件原因及解决办法

IE无法查看源文件原因及解决办法做为一名WEB程序员,可能要经常查看网页源代码,可是如果突然失效怎么办?以下摘编自中关村在线:第一类情况是,当浏览器的缓存被装满时,“查看源文件”功能将失效。
如果你想确定自己的电脑是否属于这类情况,可以点击IE的“工具”菜单中的“Internet选项”“常规”标签,然后,再点击“Internet临时文件”一栏中的“删除文件”按钮。
第二类情况,当你打开某些特殊的浏览器窗口(比如说用JavaScript脚本语言编写的网页)时,“查看源文件”功能也会失效。
如果你在浏览任何网页时,都无法“查看源文件”,那就不属于这类情况。
第三类情况,当一个网页还没有被完全加载到桌面时,“查看源文件”功能也是不能使用的(在这种状态下,“文件”菜单中的“另存为”选项也是屏蔽的)。
这也算不上是真正的问题。
第四类情况,查看Windows文件夹,如果找不到Notepad.exe,将会导致“查看源文件”功能无法使用。
第五类情况,如果TEMP(或TMP)环境变量指向某一个不存在的文件夹,也会导致“查看源文件”功能无法使用。
打开命令提示符(command prompt)窗口,键入SET TEMP(或SET TMP),就可以查看到这些变量的值。
第六类情况,通过注册表设置也可以限定命令行的有效性。
首先,点击“开始”菜单,在运行对话框中键入“REGEDIT”,调出注册表编辑器,点击“HKEY_CURRENT_USERSoftware PoliciesMicrosoftInternet Explorer Restrictions”,在右边的窗格中找到一个名为NoViewSource的值,如果当前的数值数据设置为1,则双击它,将数值数据更改为0。
第七类情况,通过查看注册表设置,你还会发现:如果指定的调用程序不正确,也将导致“查看源文件”功能失灵。
调出注册表编辑器,点击“HKEY_LOCAL_MACHINESoftware MicrosoftInternet ExplorerView Source EditorEditor Name”,如果该键存在的话,右边窗格中所显示的默认的“数值名称”应该是记事本程序的完整路径,一般以“C:windowsnotepad.exe” 的形式表示。
网页错误代码大全.

《网页错误代码大全》错误代码:400400错误是由于不正确的请求造成的,说明正在搜索的网页可能已经删除、更名或暂时不可用。
错误代码:401.1401.1错误是由于登陆失败造成的,说明没有权限查看该目录或网页。
错误代码:401.2401.2错误是由于服务器配置问题而导致登陆失败, 由于服务器端脚本未能正确发送 WWW 身份验证头文件字段。
如果要通过 Active Server Pages 脚本完成此项任务,可以使用 "Response" 对象的 "AddHeader" 方法来要求客户端用特定身份验证方法访问资源。
错误代码:401.3401.3错误是由于资源上的 ACL 导致未被授权而无权访问网页或目录。
错误代码:401.4401.4错误是由于筛选器导致授权失败。
如果 Web 服务器安装了筛选器程序以检查连接到服务器的用户。
该筛选器程序能够禁止通过连接到服务器的身份验证来访问资源。
错误代码:401.5401.5错误是由于 ISAPI/CGI 应用程序导致授权失败。
如果所要访问的 Web 服务器地址上安装了 ISAPI 或 CGI 程序用于在继续执行之前检验用户证书。
该程序能够禁止通过连接到服务器的身份验证证书来访问资源。
错误代码:403.1403.1错误是由于 " 执行 " 访问被禁止而造成的,若试图从目录中执行 CGI 、ISAPI 或其他可执行程序,但该目录不允许执行程序时便会出现此种错误。
错误代码:403.2403.2错误是由于 " 读取 " 访问被禁止而造成的。
导致此错误是由于没有可用的默认网页并且没有对目录启用目录浏览,或者要显示的 HTML 网页所驻留的目录仅标记为 " 可执行 " 或 " 脚本 " 权限。
错误代码:403.3403.3错误是由于 " 写入 " 访问被禁止而造成的,当试图将文件上载到目录或在目录中修改文件,但该目录不允许 " 写 " 访问时就会出现此种错误。
JS代码大全

JS代码⼤全1. 将彻底屏蔽⿏标右键oncontextmenu="window.event.returnvalue=false"<table border oncontextmenu=return(false)><td>no</table>可⽤于Table2. 取消选取、防⽌复制<body onselectstart="return false">3. 不准粘贴onpaste="return false"4. 防⽌复制oncopy="return false;" oncut="return false;"5. IE地址栏前换成⾃⼰的图标<link rel="Shortcut Icon" href="favicon.ico">6. 可以在收藏夹中显⽰出你的图标<link rel="Bookmark" href="favicon.ico">7. 关闭输⼊法<input style="ime-mode:-Disabled">8. 永远都会带着框架<script language="javascript"><!--if (window == top)top.location.href = "frames.htm"; //frames.htm为框架⽹页// --></script>9. 防⽌被⼈frame<SCRIPT LANGUAGE=javascript><!--if (top.location != self.location)top.location=self.location;// --></SCRIPT>10. ⽹页将不能被另存为<noscript><iframe src=*.html></iframe></noscript>11. 查看⽹页源代码<input type=button value=查看⽹页源代码onclick="window.location = `view-source:`+ /`";>12.删除时确认<a href=`javascript:if(confirm("确实要删除吗?"location="boos.asp?&areyou=删除&page=1"`>删除</a>13. 取得控件的绝对位置//javascript<script language="javascript">function getIE(E){var t=e.offsetTop;var l=e.offsetLeft;while(e=e.offsetParent){t+=e.offsetTop;l+=e.offsetLeft;}alert("top="+t+"/nleft="+l);}</script>//VBScript<script language="VBScript"><!--function getIE()dim t,l,a,bset a=document.all.img1t=document.all.img1.offsetTopl=document.all.img1.offsetLeftwhile a.tagName<>"BODY"set a = a.offsetParentt=t+a.offsetTopl=l+a.offsetLeftwendmsgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"end function--></script>14. 光标是停在⽂本框⽂字的最后<script language="javascript">function cc(){var e = event.srcElement;var r =e.createTextRange();r.moveStart(`character`,e.value.length);r.collapse(true);r.select();}</script><input type=text name=text1 value="123" onfocus="cc()">15. 判断上⼀页的来源javascript:document.referrer16. 最⼩化、最⼤化、关闭窗⼝<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"><param name="Command" value="Minimize"></object><object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"><param name="Command" value="Maximize"></object><OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><PARAM NAME="Command" value="Close"></OBJECT><input type=button value=最⼩化onclick=hh1.Click()><input type=button value=最⼤化onclick=hh2.Click()><input type=button value=关闭onclick=hh3.Click()>本例适⽤于IE17.屏蔽功能键Shift,Alt,Ctrl<script>function look(){if(event.shiftKey)alert("禁⽌按Shift键!"; //可以换成ALT CTRL}document.onkeydown=look;</script>18. ⽹页不会被缓存<META HTTP-EQUIV="pragma" CONTENT="no-cache"><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"><META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">或者<META HTTP-EQUIV="expires" CONTENT="0">19.怎样让表单没有凹凸感?<input type=text style="border:1 solid #000000">或<input type=text style="border-left:none; border-right:none; border-top:none; border-bottom: 1 solid #000000"></textarea>20.<div><span>&<layer>的区别?<div>(division)⽤来定义⼤段的页⾯元素,会产⽣转⾏<span>⽤来定义同⼀⾏内的元素,跟<div>的唯⼀区别是不产⽣转⾏<layer>是ns的标记,ie不⽀持,相当于<div>21.让弹出窗⼝总是在最上⾯:<body onblur="this.focus();">22.不要滚动条?让竖条没有:<body style=`overflow:-Scroll;overflow-y:hidden`></body>让横条没有:<body style=`overflow:-Scroll;overflow-x:hidden`></body>两个都去掉?更简单了<body scroll="no"></body>23.怎样去掉图⽚链接点击后,图⽚周围的虚线?<a href="#" onFocus="this.blur()"><img src="logo.jpg" border=0></a>24.电⼦邮件处理提交表单<form name="form1" method="post" action="mailto***@***.com" enctype="text/plain"><input type=submit></form>25.在打开的⼦窗⼝刷新⽗窗⼝的代码⾥如何写?window.opener.location.reload()26.如何设定打开页⾯的⼤⼩<body onload="top.resizeTo(300,200);">打开页⾯的位置<body onload="top.moveBy(300,200);">27.在页⾯中如何加⼊不是满铺的背景图⽚,拉动页⾯时背景图不动<style>body{background-image:url(logo.gif); background-repeat:no-repeat;background-position:center;background-attachment: fixed}</style>28. 检查⼀段字符串是否全由数字组成<script language="javascript"><!--function checkNum(str){return str.match(//D/)==null}alert(checkNum("1232142141"alert(checkNum("123214214a1"// --></script>29. 获得⼀个窗⼝的⼤⼩document.body.clientWidth;document.body.clientHeight30. 怎么判断是否是字符if (/[^/x00-/xff]/g.test(s)) alert("含有汉字";else alert("全是字符";31.TEXTAREA⾃适应⽂字⾏数的多少<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight"> </textarea>32. ⽇期减去天数等于第⼆个⽇期<script language=javascript>function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(A)alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "⽉" + a.getDate() + "⽇"}cc("12/23/2002",2)</script>33. 选择了哪⼀个Radio<HTML><script language="vbscript">function checkme()for each ob in radio1if ob.checked then window.alert ob.valuenextend function</script><BODY><INPUT name="radio1" type="radio" value="style" checked>style<INPUT name="radio1" type="radio" value="barcode">Barcode<INPUT type="button" value="check" onclick="checkme()"></BODY></HTML>34.脚本永不出错<SCRIPT LANGUAGE="javascript"><!-- Hidefunction killErrors() {return true;}window.onerror = killErrors;// --></SCRIPT>35.ENTER键可以让光标移到下⼀个输⼊框<input onkeydown="if(event.keyCode==13)event.keyCode=9">36. 检测某个⽹站的链接速度:把如下代码加⼊<body>区域中:<script language=javascript>tim=1setInterval("tim++",100)b=1var autourl=new Array()autourl[1]="/";autourl[2]=""autourl[3]="/";autourl[4]="/";autourl[5]="/";function butt(){document.write("<form name=autof>"for(var i=1;i<autourl.length;i++)document.write("<input type=text name=txt"+i+" size=10 value=测试中……> =》<input type=text name=url"+i+" size=40> =》<input type=button value=GOonclick=window.open(this.form.url"+i+".value)><br>"document.write("<input type=submit value=刷新></form>"}butt()function auto(url){document.forms[0]["url"+b].value=urlif(tim>200){document.forms[0]["txt"+b].value="链接超时"}else{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}b++}function run(){for(var i=1;i<autourl.length;i++)document.write("<imgsrc=http://"+autourl+"/"+Math.random()+" width=1 height=1onerror=auto(http://";+autourl+"`)>"}run()</script>37. 各种样式的光标auto :标准光标default :标准箭头hand :⼿形光标wait :等待光标text :I形光标vertical-text :⽔平I形光标no-drop :不可拖动光标not-allowed :⽆效光标help :?帮助光标all-scroll :三⾓⽅向标move :移动标crosshair :⼗字标e-resizen-resizenw-resizew-resizes-resizese-resizesw-resize38.页⾯进⼊和退出的特效进⼊页⾯<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)">推出页⾯<meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)">这个是页⾯被载⼊和调出时的⼀些特效。
HTTP代码大全

不知道大家上网是是否碰到过打开网页后报303,403等错误,让侯IE会给出一大堆的提示告诉你如何处理这些事,但是最后还是不能打开网页,有的人都认为是自己网络问题,其实不然,有时候网页的服务器负载也会出现这类的现象,所以大家就要好好了解下,到底代码所代表的意思了,HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。
它由RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。
代码说明100 (继续)请求者应当继续提出请求。
服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101 (切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。
2xx (成功)表示成功处理了请求的状态代码。
代码说明200 (成功)服务器已成功处理了请求。
通常,这表示服务器提供了请求的网页。
201 (已创建)请求成功并且服务器创建了新的资源。
202 (已接受)服务器已接受请求,但尚未处理。
203 (非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 (无内容)服务器成功处理了请求,但没有返回任何内容。
205 (重置内容)服务器成功处理了请求,但没有返回任何内容。
206 (部分内容)服务器成功处理了部分GET 请求。
3xx (重定向)表示要完成请求,需要进一步操作。
通常,这些状态代码用来重定向。
代码说明300 (多种选择)针对请求,服务器可执行多种操作。
服务器可根据请求者(user agen t) 选择一项操作,或提供操作列表供请求者选择。
301 (永久移动)请求的网页已永久移动到新位置。
服务器返回此响应(对GET 或H EAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
网页错误代码大全

0138 脚本块嵌套。脚本块不可放在另一个脚本块内。
0139 嵌套对象。对象标记不能放在另一个对象标记内。
0140 页命令次序有误。@ 命令必须是 Active Server Page 中的第一个命令。
0141 页命令重复。@ 命令只可以在 Active Server Page 中使用一次。
403.4 禁止访问:需要使用 SSL 查看该资源。
403.5 禁止访问:需要使用 SSL 128 查看该资源。
403.6 禁止访问:客户端的 IP 地址被拒绝。
403.7 禁止访问:需要 SSL 客户端证书。
403.8 禁止访问:客户端的 DNS 名称被拒绝。
410 文件已删除。
412 客户端设置的前提条件在 Web 服务器上评估时失败。
414 请求 URL 太大,因此在 Web 服务器上不接受该 URL。
500 服务器内部错误。
500.11 服务器错误:Web 服务器上的应用程序正在关闭。
500.12 服务器错误:Web 服务器上的应用程序正在重新启动。
0148 服务器太忙。
0149 正在重新启动应用程序。重启动应用程序期间无法处理请求。
0150 应用程序目录错误。无法打开应用程序目录。
0151 更改通知错误。无法创建更改通知事件。
0152 安全错误。处理用户安全凭据时发生错误。
0153 线程错误。新线程请求已失败。
403.9 禁止访问:太多客户端试图连接到 Web 服务器。
403.10 禁止访问:Web 服务器配置为拒绝执行访问。
403.11 禁止访问:密码已更改。
403.12 禁止访问:服务器证书映射器拒绝了客户端证书访问。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、将以下代码加入到HEML的之间<SCRIPT language=javascript>function click() {if (event.button==2) {alert('不许你偷看!');}}document.onmousedown=click</SCRIPT>2、禁止查看网页源代码真正能实现源代码屏蔽的单纯的.htm是不可能的!想看源代码是没办法阻止的。
用TELEPROT可以下载任何文件,相当于做镜像网站,除非服务器进行安全设置、加密。
下面给几种参考方法,使在浏览我的个人主页时不能使用右键或者不能看到源程序或源代码等。
1)在主页上输入代码:<SCRIPT language=javascript>function click() {if (event.button==2) {alert(\'对不起,禁止使用此功能^_^.\')}}document.onmousedown=click</SCRIPT><script language="JavaScript"><!--locate = 0;function scroller() {if (locate !=500 ) {locate++;scroll(0,locate);clearTimeout(timer);var timer = setTimeout("scroller()",3);timer;}}// --></script>2)网页安全技术指南随着Internet的飞速发展,网站的数量正呈几何级速度递增,网页上的信息极大丰富,但网站的安全与信息的版权却不断受到威胁。
近来,全球各大网站先后遭到黑客攻击,接着,为了顺应新形势,国内首家有关网络安全专题的网站(天网安全阵线)www。
sky。
net。
cn诞生了。
网站与网页的安全性受到越来越多的关注,本文将由浅入深地介绍关于加强网页安全性的各种技术和技巧,对关心网页源代码版权和网页数据安全保护的读者有较大的帮助。
初级入门篇对广大网页编写者来说,对源代码的保护是最为关注的,但往往却没有任何办法。
辛辛苦苦编写的网页在浏览者面前毫无遮掩,只要被别人轻轻点击鼠标右键,选择(查看源代码)一项后,即可获得网页完全代码,甚至稍加修改后就成为他人的网页。
本篇将通过采用JavaScript技术,对页面源代码的修改,使浏览者无法获得源码,达到保护代码的目的。
首先,应屏蔽Internet Explorer工具栏中-查看-源代码一项的功能,即将页面采用框架结构的方式。
若你的页面并未使用框架结构,且不需使用框架结构,可使用"零框架"技术(即将页面分为左右两帧,左帧的宽度为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==2||event.button==3) {alert(\'"用右键要干嘛?"^_^\') }}//引号中提示可自定义document.onmousedown=click</script>最后,为防止一些了解网页编写语言的人通过框架主文件中的连接手工找出被保护页面后获得源代码,还应在被保护页面中加入以下代码:<script language="javascript">if(top==self)top.location="index.html"</script>这段代码将提供跳回功能,使浏览器无法直接看到该页,而是自动跳回框架主文件index.html,起到保护该页面的作用。
在完成以上三个步骤,对你的主页按照框架结构进行了修改后,你的主页源代码将不能被浏览者在网上获得。
另外,若你确实不想用框架页面,那么可用特殊的方法打开浏览器新窗口,再结合屏蔽鼠标的功能代码后亦可收到同样的效果,打开方法如下:<a href=javascript:window.open("key.html","被保护页面的标题","height=170,width=290,left=0,top=0,toolbar=0,location=0,directories=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>如果你已经做到这一步了,那么你的网页所受到的保护就不再是常规意义上的出于道德观念或版权意识,而是真正的技术上的保护手段。