成都网站建设,原新盒子网络工作室
专业设计,打造专业品质
Professional design, to create professional quality
如何防止别人采集你的网站!
来源: 作者:成都网站制作 日期:2011-04-11 22:03:44 点击:0

\

网页防采集策略 
    目前防采集的方法有很多种,先介绍一下常见防采集策略方法和它的弊端及采集对策:

    一、判断一个IP在一定时间内对本站页面的访问次数,如果明显超过了正常人浏览速度,就拒绝此IP访问。

    弊端:
    1、此方法只适用于动态页面,如:asp\\jsp\\php等...静态页面无法判断某个IP一定时间访问本站页面的次数。
    2、此方法会严重影响搜索引擎蜘蛛对其收录,因为搜索引擎蜘蛛收录时,浏览速度都会比较快而且是多线程。此方法也会拒绝搜索引擎蜘蛛收录站内文件。
    采集对策:只能放慢采集速度,或者不采。
    建议:做个搜索引擎蜘蛛的IP库,只允许搜索引擎蜘蛛快速浏览站内内容。搜索引擎蜘蛛的IP库的收集,也不太容易,一个搜索引擎蜘蛛,也不一定只有一个固定的IP地址。
    评论:此方法对防采集比较有效,但却会影响搜索引擎对其收录。

    二、用javascript加密内容页面

    弊端:此方法适用于静态页面,但会严重影响搜索引擎对其收录情况,搜索引擎收到到的内容,也都是加密后的内容。
    采集对策:建议不采,如非要采,就把解密码的JS脚本也采下来。
    建议:目前没有好的改良建议。
    评论:建议指望搜索引擎带流量的站长不要使用此方法。

    三、把内容页面里的特定标记替换为”特定标记+隐藏版权文字“

    弊端:此方法弊端不大,仅仅会增加一点点的页面文件大小,但容易反采集。
    采集对策:把采集来的含有隐藏版权文字内容的版权文字替掉,或替换成自己的版权。
    建议:目前没有好的改良建议。
    评论:自己感觉实用价值不大,就算是加上随机的隐藏文字,也等于画蛇添足。

    四、只允许用户登陆后才可以浏览

    弊端:此方法会严重影响搜索引擎蜘蛛对其收录
    采集对策:目前落伍已经有人发了对策文章 ,具体对策就看这个吧《ASP小偷程序如何利用XMLHTTP实现表单的提交以及cookies或session的发送》。
    建议:目前没有好的改良建议。
    评论:建议指望搜索引擎带流量的站长不要使用此方法。不过此方法防一般的采集程序,还是有点效果的。

    五、用javascript、vbscript脚本做分页

    弊端:影响搜索引擎对其收录。
    采集对策:分析javascript、vbscript脚本,找出其分页规则,自己做个对应此站的分页集合页即可。
    建议:目前没有好的改良建议。
    评论:感觉懂点脚本语言的人都能找出其分页规则。

    六、只允许通过本站页面连接查看,如:Request.ServerVariables(“HTTP_REFERER“)

    弊端:影响搜索引擎对其收录。
    采集对策:不知道能不能模拟网页来源。。。。目前我没有对应此方法的采集对策。
    建议:目前没有好的改良建议。
    评论:建议指望搜索引擎带流量的站长不要使用此方法。不过此方法防一般的采集程序,还是有点效果的。

    从以上可以看出,目前常用的防采集方法,要么会对搜索引擎收录有较大影响,要么防采集效果不好,起不到防采集的效果。那么,还有没有一种有效防采集,而又不影响搜索引擎收录的方法呢?那就请继续往下看吧! 

1、用不同的模板
对于用程序的网站来说,不大可行,一个网站的模板最多也就几套吧。

2、使用robots禁止访问网页目录
这个方法可以有效的防止采集,不过将搜索引擎也封掉了,对于靠搜索引擎吃饭的站长们来说,得不偿失。
一个例子,Disallow 后面就是禁止访问的目录:

2 [转帖]网页防采集策略 


User-agent: *
Disallow: /admin
Disallow: /attachments
Disallow: /images
Disallow: /forumdata
Disallow: /include


3、使用HTTP_REFERER禁止采集,发现来自非本站连接就禁止察看叶面,就像前一段落伍im286.net防DDOS那个禁止调用一样。
这个方法可以比较有效的防止采集,不过也一样把搜索引擎封掉了,对于靠搜索引擎吃饭的站长们来说,得不偿失。
对高手无效,因为HTTP_REFERER可以伪造。但对一般使用采集的人来说,已经足够应付了。
例:


php
if(preg_replace("/https?://([^/]+).*/i", "1", $HTTP_SERVER_VARS['HTTP_REFERER']) != $HTTP_SERVER_VARS['HTTP_HOST']) {
exit('警告----你的操作已经被禁止.http://www.xinhezi.cn;);
}


4、使用HTTP_REFERER伪造内容
这个方法可以比较有效的防止采集,不过对于搜索引擎来说,查到的东西跟你伪造的东西一样的,可能会影响收录。(如有不对,请高手指出)
同上,对于高手无效。

5、使用java加密内容。
这个可能会比较有效,但是我对java一窍不通,也就不清楚如何入手了。
但我想,既然你这样使得别人采集到乱码,搜索引擎有可能也是收录到乱码的(我不清楚搜索引擎怎么工作,不过我猜测他们是察看网页源代码的。),也就影响收录。

6、使用java加密网址
同上,有可能让搜索引擎无法搜索到你的网页。

7、生成pdf文件、生成图片
这个方法可以比较有效的防止采集,不过照样让搜索引擎望而却止。

8、加上自己的版权信息
这个方法最大的好处就是不影响搜索引擎,效果马马虎虎,一般上可以让采集者采集到带有自己版权的稿件内容。但是对于可以过滤广告的采集程序来说,不大有效。

以下是作者给俺的PM:


Quote: 
你的版权是不是加了你的网站和网址?
只要把网址和网站名替换成他的就可以了啊.这样还让他有了版权功能呢.
反正防采真是头疼.... 


有点麻烦,我的思路是将网站名称分成一个一个字来显示,他不可能将每个字都替换掉吧?不过要这样我就没办法了。比如说我将我的 武侠网 拆开,分成

武侠网


,$rand_color*是随机颜色,可以自己控制的,如果是动态网页的话,还配合HTTP_REFERER来搞随机,这样子随机性就更大了。一般上,尽量制造难度就是了。模板也可以制造随机性,几个相似的模板轮流来弄,这样子让人采集的难度更大。

不过说实话,要使他们真要搞,那是没办法的事,不过至少要花他们很多的时间去研究。在此之前,他们可能没耐性转向别的站了。

另外,最好不要让人知道你使用随机函数。一般人只是稍微看一下网页代码,就开始采集了。
   
    
 
3 回复:[转帖]网页防采集策略  
防采集程序
下午无聊写着完,写完后自己仔细看了看防止采集还是有一定的效果的,哈哈,要的拿去用吧!

<% 
Dim AppealNum,AppealCount 
AppealNum=10 '同一IP60秒内请求限制10次 
AppealCount=Request.Cookies("AppealCount") 
If AppealCount="" Then 
response.Cookies("AppealCount")=1 
AppealCount=1 
response.cookies("AppealCount").expires=dateadd("s",60,now()) 
Else 
response.Cookies("AppealCount")=AppealCount+1 
response.cookies("AppealCount").expires=dateadd("s",60,now()) 
End If 
if int(AppealCount)>int(AppealNum) then 
response.write "歇一会儿吧!整天采集你烦不烦啊!" 
response.end 
End If 
%>  
   
    
 
4 回复:[转帖]网页防采集策略  
[讨论]防采集这几天上网,竟然也现我的整站被人家全部采集去了。晕倒,几年的资料就这样便宜人家。

还好,人家是个懒虫,栏目都不分,鬼才会去看。

这样才想起怎样防止采集的方法。

注意,只是讨论可行性,还没有提供解决方案。

采集与搜索引擎的机器人不同。采集需要对网页进行分析,以找到规则,分别对标题和内容进行读取并记录到数据库中。

如果我们能够把网页做成没有规则,采集也就无从入手了。

说到规则,我就想趣了空格。

空格这东西,在HTM的<>中,并不产生作用,也就是说,一个空格的位置,你多加几个也是没关系的。象<table>你可以写成< table>,<table >,<  table     >。都可以,所以,如果在网页里面,特别是采集程序重点分析的位置,我们利用程序,在这些位置加些空格,采集也就难以下手了,就算采到了,也就几篇而已,影响不大。

我准备这样做,象原来在模板中的<table>,我会改成<{$space1$}table{$space2$}>,在这里,{$space1$}和{$space2$}是自定义标签(也可以融合到程序中),然后在程序中使用随机数来决定这两个标签用多少个空格来代替。

呵呵,人家现在想用<table>来做为特征采集是完全做不到的了。但对于我的网页,显示上一点影响也没有,对于搜索引擎的机器人也一点影响没有。

我想这应该是最合适的方法。

希望做过采集或改过采集的讨论一下。
 

Address
咨询热线:028-85555316 and 15378179975
地址:成都市青羊区北大街19号正成·财富领地1栋2901(省市政务中心斜对面)
电话:028-85555316 15378179975
网址:http://www.sosbox.cn/  QQ:357898628 snjeso@qq.com
2011 sosbox.cn , All Right Reserved 蜀ICP备09022060号
Share
更多
收缩
  • 电话咨询

  • 4000-855-316
  • 028-85555316
  • 15608036768