网站防采集方法

    第1种方法:

    防采集第一招 用Persistence为静态页面增加session功能  

    一般来说,只有服务器端的CGI程序(ASP、PHP、JSP)具有session会话功能,用来保存用户在网站期间(会话)的活动数据信息,而对于数量众多的静态页面(HTML)来说,只能使用客户端的cookies来保存临时活动数据,但对于cookies的操作是个很烦琐的过程,远没有对于session操作那样简便。为此,本文向读者推荐一种在DHTML中的解决方案“Persistence技术”,使得在静态页面中也能使用session会话功能。

    Microsoft Internet Explorer 5浏览器和以后的版本都支持使用状态保持(Persistence)技术,让我们能够在当前会话过程中保存一些数据对象到客户端,减少了对服务器的访问请求,充分发挥了客户端计算机的数据处理能力,从而也整体提升了页面显示效率。

    Persistence技术有以下几种行为可供调用:

· saveFavorite—当页面被添加到收藏夹时保存页面状态和信息
· saveHistory—在当前会话中保存页面状态和信息
· saveSnapshot—当页面被保存到硬盘时,保存页面状态和信息
· userData—在当前会话中用XML格式保存页面状态和信息
    Persistence技术打破了以前使用cookies和session的传统,继承了cookies的一些安全策略,同时也增加了存储和管理数据的能力。我们的每个页面有64KB的用户数据存储容量,对于每个站点总计有640KB的存储上限。

    Persistence技术存储的数据格式符合XML标准,所以可以使用DOM技术中的getAttribute和setAttribute方法来存取数据。

    下面是一个Persistence技术的典型应用,通过对Persistence存储数据的分析,使得静态页面具有验证功能。

    实际判断过程是这样的:

    1.有三个对象:游客V、导航页面A、内容页面C
    2.游客V只能通过导航页面A的链接才能看到内容页面C;
    3.如果游客V是通过其它途径来访问内容页面C(比如通过其它网站的超链接、直接在IE地址栏中输入网址访问等),内容页面C将自动提示版权信息,显示空白页。
具体实现步骤:

    · 在“导航页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnSave用来授权。
<STYLE>
.userData {behavior:url(#default#userdata);}
</STYLE>
<SCRIPT language=Javascript>
function fnSave(){
oPersistDiv.setAttribute("bIsValid","true");
oPersistDiv.save("oXMLStore");
}
</SCRIPT>

    · 在“导航页面”的<body>和</body>区域中定义一个层用来标识Persistence对象
<DIV CLASS=userData ID="oPersistDiv"></DIV>

    · 在“导航页面”的超链接属性中加入一条语句用来调用函数fnSave:
<a href='redhat2.htm' onmousedown="fnSave()">

    接下来,为“内容页面”加入验证功能。

    · 在“内容页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnLoad用来判断合法性。
<STYLE>
.userData {behavior:url(#default#userdata);}
</STYLE>
<SCRIPT>
var bPageValid=false;
function fnLoad(){
oPersistDiv.load("oXMLStore");
if((oPersistDiv.getAttribute("bIsValid"))&&
(oPersistDiv.getAttribute("bIsValid")=="true")){
bPass=true;
}
else{
bPass=false;
}
oPersistDiv.setAttribute("bIsValid","false");
oPersistDiv.save("oXMLStore");
if(bPass==false){
var sError="来源不明,请您通过授权网站访问我们.";
alert(sError);
location.href="about:blank";
}
} </SCRIPT>

    · 修改“内容页面”的区域如下:
<BODY onload="fnLoad()">
<DIV CLASS=userData ID="oPersistDiv"></DIV>

 方法2:(ASP代码):
     

<%
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 "网页特效http://www.qpsh.com提醒您:抓取很累,歇一会儿吧!"
response.end
End If
%>

    第3种方法(ASP):

<%
user_agent=Request.ServerVariables("HTTP_USER_AGENT")
http_reffer=Request.ServerVariables("HTTP_REFERER")
server_name=Request.ServerVariables("SERVER_NAME")
'检查当前用户是否是蜘蛛人
function check(user_agent)
allow_agent=split("Baiduspider,Scooter,ia_archiver,Googlebot,FAST-WebCrawler,MSNBOT,Slurp",",")
check_agent=false
for agenti=lbound(allow_agent) to ubound(allow_agent)
if instr(user_agent,allow_agent(agenti))>0 then
check_agent=true
exit for
end if
next
check=check_agent
end function
if check(user_agent)=False then
if http_reffer="" or left(http_reffer,len(""http://"&server_name&"/">http://"&server_name)+1)<>"http://"&server_name&"/" then
%>
<html><body>
<form action='' name=checkrefer id=checkrefer method=post>
</form>
<script>
document.all.checkrefer.action=document.URL;
document.all.checkrefer.submit();
</script>
</body></html>
<%response.end
end if
end if
%>

 

    ***插入以上代码的页面需在同一个文件夹下,否则会出错。
从以上范例可看出,通过persistence的使用,使得普通的静态内容页面具有了session功能,一般的不敏感信息完全可以通过session保存在客户端。

    1.每个文章的命名不要有任何规律,比如你的文章是<%=id%>.htm的话,请在前面或后面生成个日期,如:20070911-1234.htm,前面的就是日期了,这样对采集新手来说是非常有效的。

    2.不要把所有的文章都放在一个目录下,你可以利用日期生成不同的目录名。

    3.不要所有的文章都用一个模板,制作尽量多的模板,添文章的时候可有选要用哪个模板,一般采集者的采集程序是有针对性的,他在采集前会对你的页面进行分析,如果你所有的页面排版无规律可寻,那么我想他就会放弃了。

    以上三种方法能防住初级采集的,但是对高手来说没什么用。
   
    下面三种方法用限制采集人的IP或SESSION的方法来达到防采集的目的。

时间: 2024-10-25 23:53:38

网站防采集方法的相关文章

如何让网站防采集?

网站|采集 很多防采集方法在施行的时候需要考虑是否影响搜索引擎对网站的抓取,所以先来分析下一般采集器和搜索引擎爬虫采集有何不同. 相同点: a. 两者都需要直接抓取到网页源码才能有效工作, b. 两者单位时间内会多次大量抓取被访问的网站内容; c. 宏观上来讲两者IP都会变动; d. 两者多没耐心的去破解你对网页的一些加密(验证),比如网页内容通过js文件加密,比如需要输入验证码才能浏览内容,比如需要登录才能访问内容等. 不同点: 搜索引擎爬虫先忽略整个网页源码脚本和样式以及html标签代码,然

防采集方法

这个防采集的方法是我今天在无奈之下想出来的,要开网站一看我晕不能访问,立马跑到服务器上一看,apache点N高的内存,后来在一急之下就想出了这种办法,呵呵,到底是什么方法呢,我把我防采集的过程给各位讲一下吧. 根据我分析一般这种大量采集都是现成的cms如dede ,新云,dz等,他们己经写好了方法只要你把规则放进去就行了,例如:取得文章列表页开始与结束位置,连接url的开始与结束字符,内容页面的开始与字符,就这样几句代码,就让你的服务器要命哦,根据我上面的分析我们就来写一些没有规则的可以说如果要

非常好的网站生成静态页面防采集策略与方法_网站应用

目前防采集的方法有很多种,先介绍一下常见防采集策略方法和它的弊端及采集对策:  一.判断一个IP在一定时间内对本站页面的访问次数,如果明显超过了正常人浏览速度,就拒绝此IP访问     弊端:     1.此方法只适用于动态页面,如:asp\jsp\php等...静态页面无法判断某个IP一定时间访问本站页面的次数.     2.此方法会严重影响搜索引擎蜘蛛对其收录,因为搜索引擎蜘蛛收录时,浏览速度都会比较快而且是多线程.此方法也会拒绝搜索引擎蜘蛛收录站内文件     采集对策:只能放慢采集速度,

[原创]防止网站被采集最有效的三种方法

网站|原创|防采集 总结了一下,有三种实用的方法. 1.文章头尾加随机广告..2.文章列表加随机不同的链接标签,比如<a href="",<a class="dds" href=''3.正文头尾或列表头尾添加<!--重复特征代码--> 第一种防采集方法:下面我详细说一下这三种方法的实际应用: 如果全加上,绝对可以有效的防采集,单独加一种就可以让采集者头疼..完全可以对付通用的CMS采集程序.. 在采集时,通常都是指定头尾特征从哪到哪过滤.这里

火车头谈网站的采集与防采集

中介交易 SEO诊断 淘宝客 云主机 技术大厅 安徽互联网联盟(ahunion.org)主办的站长讲座不知不觉到了第十二期.上期的讲座获得了众多参与站长很高的赞誉也让更多的站长积极的加入到讲座群内来,目前在国内最知名的网站采集软件肯定就似乎火车头采集器(locoy.com)了,火车采集器(LocoySpider)是一个功能强大的数据采集软件.使用它,您可以很容易的从网页上抓取文字,图片,文件等资源.目前是国内使用率最高的网站采集软件,前不久刚推出了2009的最新版,深受广大站长的喜爱.由于该采集

防止网站被采集的理论分析以及十条方法对策第1/2页

相同点: a. 两者都需要直接抓取到网页源码才能有效工作, b. 两者单位时间内会多次大量抓取被访问的网站内容; c. 宏观上来讲两者IP都会变动; d. 两者多没耐心的去破解你对网页的一些加密(验证),比如网页内容通过js文件加密,比如需要输入验证码才能浏览内容,比如需要登录才能访问内容等. 不同点:         搜索引擎爬虫先忽略整个网页源码脚本和样式以及html标签代码,然后对剩下的文字部分进行切词语法句法分析等一系列的复杂处理.而采集器一般是通过 html标签特点来抓取需要的数据,在

网站生成静态页面攻略 -- 防采集策略

采集|策略|攻略|静态|页面 目前防采集的方法有很多种,先介绍一下常见防采集策略方法和它的弊端及采集对策: 一.判断一个IP在一定时间内对本站页面的访问次数,如果明显超过了正常人浏览速度,就拒绝此IP访问 弊端:1.此方法只适用于动态页面,如:asp\jsp\php等...静态页面无法判断某个IP一定时间访问本站页面的次数.2.此方法会严重影响搜索引擎蜘蛛对其收录,因为搜索引擎蜘蛛收录时,浏览速度都会比较快而且是多线程.此方法也会拒绝搜索引擎蜘蛛收录站内文件采集对策:只能放慢采集速度,或者不采建

网站生成静态页面攻略3:防采集策略_小偷/采集

目前防采集的方法有很多种,先介绍一下常见防采集策略方法和它的弊端及采集对策: 一.判断一个IP在一定时间内对本站页面的访问次数,如果明显超过了正常人浏览速度,就拒绝此IP访问     弊端:    1.此方法只适用于动态页面,如:asp\jsp\php等...静态页面无法判断某个IP一定时间访问本站页面的次数.    2.此方法会严重影响搜索引擎蜘蛛对其收录,因为搜索引擎蜘蛛收录时,浏览速度都会比较快而且是多线程.此方法也会拒绝搜索引擎蜘蛛收录站内文件    采集对策:只能放慢采集速度,或者不采

网站生成静态页面攻略3:防采集策略

目前防采集的方法有很多种,先介绍一下常见防采集策略方法和它的弊端及采集对策: 一.判断一个IP在一定时间内对本站页面的访问次数,如果明显超过了正常人浏览速度,就拒绝此IP访问 弊端:    1.此方法只适用于动态页面,如:asp\jsp\php等...静态页面无法判断某个IP一定时间访问本站页面的次数.    2.此方法会严重影响搜索引擎蜘蛛对其收录,因为搜索引擎蜘蛛收录时,浏览速度都会比较快而且是多线程.此方法也会拒绝搜索引擎蜘蛛收录站内文件    采集对策:只能放慢采集速度,或者不采