十载风雨路 · 匠心铸精品

量身定制 追求完美

怎样防止网站被人模仿

 发布日期:2011-12-21 12:00:00 浏览:7053次

防止被人吸走网站
这种剽窃一般有以下几种方法:
1, 点右键查看原文件.

2, 从浏览器菜单里点查看----->原文件.或另存.

3,干脆来个<frame src=你的文件>这样你的一切都是他的了

以下一一来对付他们. 总的来说,使用javascript , 和HTML 结合.
1,当对方使用右键来试图看原文件时.使用javascript 引发一个函数.
注意到点击右键是一个事件.可以使用以下代码.

<script>
function MD(e){
if(!ns){
if(event.button>1)window.external.addFavorite
('/','CCeye之 计算机与交流')
}

else{
if(e.which>1)return false
}
}

ns=navigator.appName=="Netscape";
if(ns)document.captureEvents(Event.MOUSEDOWN);

document.onmousedown=MD;

</script>

这里定义了一个函数MD,函数的内容是这样的,当鼠标点击时,检测浏览器是否为NETSCAPE如果是则返回不响应 FALSE,如果不是(除了NETSCAPE 还有谁? IE !!)则调用一个在IE里承认的函数window.external.addFavorite('URL地址','主题')
这个函数是在客户的浏览器的书签里加入你的站点.COOL吧!这样对方想看你的原代码,反而却在书签里加入了你的站点.这样也会让对方在漫骂之余咕囔一句:"这家伙还有两把刷子!!"后面两句是分别对NETSCAPE 和IE 定义检测鼠标是否按下.

2,使用FRAME 来隐藏页面.这样不论他是 从浏览器菜单里点查看----->原文件. 还是另存都无法看到原文件.如果你的主页本来就是FRAME 就不用看这里了.
html 语法为这样.例如我的主页在 /

先把INDEX.HTM 重命名为INDEX2.HTML
这时我新建立一个INDEX.HTML网页内容如下.

<head>
<TITLE>cceye</TITLE>
<META NAME="description" C>
</HEAD>
<FRAMESET ROWS="100%,*" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0>
<FRAME SRC="/;
</FRAMESET>
</HTML>

这样从浏览器看起来是没有任何变化.但在原文件里却一点也看不到我的原文件了.

3,这家伙比较黑,我们不妨也给他点颜色看看.
在首页里加入
<script>
if(top.location!=self.location)
{

alert("嘿,请访问原版站点,这个站点是剽窃的");
alert("请联系站长,我会找他算帐");
top.location="";;

}
</script>
这样,无论他怎么想把你的站点变成他的站点的内容的一部分.都会得到警告框,而且,浏览器会自动把页面移向你的页面. COOL?

FAQ:
Q:我想会有人提问.倘若他通过从浏览器菜单里点查看----->原文件. 看到我是FRAME 然后在地址栏里输入我的真页面的地址怎么办?

A:可以在你的每一个页面的里面加入下面的代码.
<script>
if(top==self)top.location="../"
</script>
例如我就会在INDEX2.HTML的最开始加入这个代码.这样,
即使他在浏览器里添入 /

在他还没有时间点击查看的时候,页面已经转移到最首页了.

Q:这个办法不错,但我有很多网页一旦加入了些程序,万一有一天我的网站结构变了.岂不是要一个
个的重新改过,否则页面自己会换来换去的多麻烦?

A:可以创建两个 JS 文件.(文件名可以胡乱起.)一个 main.js 为主页服务内容为
_______________________________________________

if(top.location!=self.location)
{

alert("嘿,请访问原版站点,这个站点是剽窃的");
alert("请联系站长,我会找他算帐");
top.location="";;

}


function MD(e){
if(!ns){
if(event.button>1)window.external.addFavorite
('/','CCeye之 计算机与交流')
}

else{
if(e.which>1)return false
}
}

ns=navigator.appName=="Netscape";
if(ns)document.captureEvents(Event.MOUSEDOWN);

document.onmousedown=MD;
_______________________________________________
另一个为sub.js为所有的其他网页提供保护服务,内容为.

___________________________________________

if(top==self)top.location="../";
function MD(e){
if(!ns){
if(event.button>1)window.external.addFavorite
('/','CCeye之 计算机与交流')
}

else{
if(e.which>1)return false
}
}
ns=navigator.appName=="Netscape";
if(ns)document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=MD;

_________________________________________________________

这样在首页只要加入
<script src="../js/main.js"></script>
其他的网页只要加入
<script src="../js/sub.js"></script>

就行了.当你不需要这些时,只要在那两个文件里做相应的改动就行了.另外,可以把这两个文件的扩展名写成 .GIF 或 .JPG 这样即使在缓存中也不容易发现你的SCRIPT 原文件.

Q:这样真的就能完全防止他们看吗?
A:有道是"门锁是防君子不防小偷的" ,做过以上处理的网站能防着君子和一部分水平一般的小偷,遇到江洋大盗,还是没有办法.你隐藏的一切还是能在缓存里找到.毕竟江洋大盗还是少之又少的.况且即使是江洋大盗要看到你的原代码也是要费力费事的.这起码能够防止他们成批的剽窃网站.另外,对于想要隐藏的script,可以使用 CGI 来生成 script , 然后使用这个SCRIPT 来调用生成他的 CGI ,因为参数不同,可以使CGI 返回不同的内容,这样即使在缓存中也找不到正确内容.这是一个比较狡猾的方法.一般的江洋大盗也没有办法.


Q:对方如果要"吸"我的网站怎么办?
A:如果是个别连接则使用javascript 控制.比如原本是
<a href="/;不要吸我</a>
改成
<a href="javascript:document.location='/babalala.htm'">吸不
着我</a>


当是整个网站时.这样比较麻烦,可以采用下面的javascript


<script>
var flink,alllinks;
var pathname;
flink=0;
alllinks=document.links.length;
for(flink=0;flink<alllinks;flink++)
{

pathname=document.links[flink].pathname.substring(document.links
[flink].pathname.length-4,document.links[flink].pathname.length);

if(pathname=="fake")
{
document.links[flink].pathname=document.links[flink].pathname.substring
(0,document.links[flink].pathname.length-4);
}
}

</script>
这个SCRIPT 必须是在整个页面的下方,而且把凡是你不想被吸走的文档的连接之后加四个小写字母 fake (这可以在你最初做网页时加入,也可以使用perl 编个程序来个整体换面.
=~s/\.htm/\.htmfack/g;

当然你可以根据程序自己决定加什么.这样,只有当页面是出现在浏览器里才能被看到.否则对方一个网页也吸不下来.

相关新闻

CopyRight 2004-2018 JSOON NETWORK , Inc. All Rights Reserved 专业互联网开发服务提供商-佳速网络   服务热线:021-58361813   沪ICP备09051443号-4   网站地图
上海佳速公司提供上海网站建设制作、app开发、微信小程序开发服务

021-58361813