几招让你的网站免受采集之苦
- 2017-07-07 14:54:23
- 5076
如今的采集系统是一个比一个NB,站长们辛苦收集制作的网站内容总是很快出现在在另一个网站上,一个网站轻易的就被复制了又复制。有办法既不影响搜索引擎的正常收入又能解决网站被采集之苦么?答案是肯定的。
最常用的网站建设防采集方法:
1.每个文章的命名不要有任何规律,比如你的文章是<%=id%>.htm的话,请在前面或后面生成个日期,如:20070911-1234.htm,前面的就是日期了,这样对采集新手来说是非常有效的。
2.不要把所有的文章都放在一个目录下,你可以利用日期生成不同的目录名。
3.不要所有的文章都用一个模板,制作尽量多的模板,添文章的时候可有选要用哪个模板,一般采集者的采集程序是有针对性的,他在采集前会对你的页面进行分析,如果你所有的页面排版无规律可寻,那么我想他就会放弃了。
以上三种方法能防住初级采集的,但是对高手来说没什么用。
下面三种方法用限制采集人的IP或SESSION的方法来达到防采集的目的。
方法一:(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.webjx.com提醒您:抓取很累,歇一会儿吧!" response.end End If %> |
第二种方法(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)+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功能
一般来说,只有服务器端的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> |
***插入以上代码的页面需在同一个文件夹下,否则会出错。
从以上范例可看出,通过persistence的使用,使得普通的静态内容页面具有了session功能,一般的不敏感信息完全可以通过session保存在客户端。
使用多个带有session功能的静态页面可以完成众多复杂任务,如虚拟购物车,高级搜索引擎等。同时,由于将以前服务器端承担的部分session任务转移到客户端,减少了数据交互量,大大降低了服务器的负担。
定制网站
智慧网站
外贸独立站
新零售社交电商系统
微网站
企业微信开发
h5营销
公众号开发
小程序定制
新零售商城小程序
积分小程序
智慧小程序
定制AI应用开发
AI客服智能体
营销智能体
销售智能体
智慧园区
物流TMS管理系统
企业资产管理系统
安全生产信息化管理
GEO优化
SEO优化
新媒体
短视频
出海社媒运营
域名注册
企业邮箱
云服务器
维护运营
SSL证书
等保服务
云OA系统
CRM开发
品牌网站解决方案
集团公司解决方案
商城网站解决方案
在线教育解决方案
新零售商城系统
基础商城小程序
企业积分福利商城
智慧园区
物流MES系统
物业合同管理