防止查看源代码和防止拷贝代码

为了防止内容被拷贝,通常的办法是屏蔽掉鼠标右键,不让查看源文件,但这也有很多办法突破,如使用Netscape浏览器就不会有这种现象,而且让人觉得很不方便,因为鼠标右键可以用来做其他很多事情,如保存图片啊等等。因此这里再介绍一个更好的办法,不用屏蔽鼠标右键,而是对屏蔽掉鼠标选择要copy内容的功能。

首先在页面的区加入以下代码:


然后在标签里加入函数代码,让页面加载后自动执行。
一、常用JavaScript密码锁

1. 了解javascript

JavaScript是一种新的网页描述语言,是由Sun公司以及网景Netscape公司开发的,此一语言可以被嵌入HTML的文件之中,使用它可以让你设计交互性的网页内容。

2. javascript特点

使用javascript非常简单,只是一小段代码,就可以让网页发生千奇百怪的效果,而且使用javascript来加密的方法是网络中加密最常用的方法。

3. 使用javascript加密

使用javascript加密最简单的结果就是让浏览者不能使用鼠标右键,当他点击右键想对图片进行保存或者复制文字的时候就会弹出一个警告窗口或是弹出收藏夹等。

实现方法:

(1)利用弹出窗口封锁鼠标右键

将下面这段代码放在网页HTML代码的<head></head>标志中,就可以实现封锁右键,给网页加密。

<script language="javascript">

function click() {if (event.button==2) {alert('本站不准使用右键,

使用左键吧!^_^') }}

document.onmousedown=click</script>

(2)弹出“添加收藏夹”封锁鼠标右键

将下面这段代码放在网页的HTML代码的<head></head>标志中。实现点击右键出现“添加到收藏夹”选项。

<script language="javascript">

function click() {if (event.button==2) {window.external.addFavorite

('https://www.360docs.net/doc/a310886458.html,/,' 天极网')}}

document.onmousedown=click</script>

(3)彻底封锁鼠标右键
将下面这段代码放在网页的HTML代码的<head></head>标志中能够实现彻底封锁鼠标右键的效果,由于这个脚本在右键按下时调用一个函数,所以可以改为很多种类型。即使按下左键,再按下右键,放开左键,再放开右键的方法也还是破解不了。


<script>
function DM(e){if(!ns){if(event.button>1)window.external.addFavorite
('https://www.360docs.net/doc/a310886458.html,/,' 大众网络报')}else{if(e.which>1)return false}}ns=navigator.appName=="Netscape";if(ns)document.captureEvents
(Event.MOUSEMOVE|Event.MOUSEDOWN);document.onmousemove=DM;document.
onmo

usedown=DM;</script>

(4)禁止查看源文件
将下面这段代码放在网页的HTML代码的<head></head>标志中则可以实现禁止利用IE浏览器查看源文件。
<script language="JavaScript">
<!--
document.onmousedown=click
function click() {
if ( event.button==2) {alert('不准查看源文件') }
if ( event.button==3) {alert('不准查看源文件') }
}
//-->
</script>

(5)用乱码显示链接、调用地址加密。
利用某些函数把URL字符转换成ASCII码,从而达到隐藏链接Frame页面和*.js,*.asp等脚本的目的。返回ASCII码escape(character),ASCII码为%XX格式,XX是十六进制,如空格键为%20。返回字符unEscape(string)
如:
<!—var Words=" %3Cframeset%20BORDER%3D%220%22%20FRAMEBORDER%3D%220%22
%20FRAMESPACING%3D%220%22%20rows%3D%22100%25%22%3E%0D%0A%20%20%3Cframe
%20SRC%3D%22http%3A//https://www.360docs.net/doc/a310886458.html,/XXX/XXX/%22%20NAME%3D%22oos1%22%20"//
-->
</script>

利用javascript还可以使用调用脚本显示页面加密、密码校验等加密方法,但是由于代码繁杂而不经常使用,这里就不多讲了。

二、使用IIS的密码锁

不要以为只有javascript可以加密,使用IIS也可实现加密,只要你电脑上安装的Web服务器是IIS,而你又是管理员权限的用户时,就可以用一种简单的方法来实现密码验证。

(注意:使用Win 2000 Server版并安装了IIS及域用户管理器)


为了滚动能够“连续”,我们需要将字幕的内容复制多遍,直到内容的高度不小于滚
动区高度的两倍。然后我们将溢出的滚动条隐藏掉,用代码控制滚动条向下移动(这时内容将向上移动)。当滚动条滚动到最下方时,理论上不能再往下滚动了,于是我们立刻调整滚动条,将它向上滚动到一个和当前画面一样的位置。结果我们看到的就是连续的滚动了。呵呵,说的就是这么简单,那做起来如何呢?我们看看是如何逐步实现的。

<div id="marquees"> <!-- 这些是字幕的内容,你可以任意定义 --> <a href="#">链接一</a>
<br> <a href="#">链接二</a>
<br> <a href="#">链接三</a>
<br> <a href="#">链接四</a>
<br> <!-- 字幕内容结束 -->
</div>
<!-- 以下是java-script代码 -->
<script language="java-script">
<!--
marqueesHeight=200; //内容区高度
stopscroll=false; //这个变量控制是否停止滚动
with(marquees){
noWrap=true; //这句表内容区不自动换行
style.width=0; //于是我们可以将它的宽度设为0,因为它会被撑大
style.height=marqueesHeight;
style.overflowY="hidden"; //滚动条不可见
onmouseover=new Function("stopscroll=true"); //鼠标经过,停止滚动
onmouseout=new Function("stopscroll=false"); //鼠标离开,开始滚动
}
//这时候,内容区的高度是无法读取了。下

面输出一个不可见的层"templayer",稍后将内容复制到里面:
document.write('<div id="templayer"
style="position:absolute;z-index:1;visibility:hidden"></div>');
function init(){ //初始化滚动内容
//多次复制原内容到"templayer",直到"templayer"的高度大于内容区高度:
while(templayer.offsetHeight<marqueesHeight){
templayer.innerHTML+=marquees.innerHTML;
} //把"templayer"的内容的“两倍”复制回原内容区:
marquees.innerHTML=templayer.innerHTML+templayer.innerHTML;
//设置连续超时,调用"scrollUp()"函数驱动滚动条:
setInterval("scrollUp()",10);
}
document.body.onload=init;
preTop=0; //这个变量用于判断滚动条是否已经到了尽头
function scrollUp(){ //滚动条的驱动函数
if(stopscroll==true) return; //如果变量"stopscroll"为真,则停止滚动
preTop=marquees.scrollTop; //记录滚动前的滚动条位置
marquees.scrollTop+=1; //滚动条向下移动一个像素
//如果滚动条不动了,则向上滚动到和当前画面一样的位置
//当然不仅如此,同样还要向下滚动一个像素(+1):
if(preTop==marquees.scrollTop){
marquees.scrollTop=templayer.offsetHeight-marqueesHeight+1;
}
}
-->
</script>




相关文档
最新文档