• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >运营技巧 > 网站防采集的几种方法

网站防采集的几种方法

作者:查字典编辑 字体:[增加 减小] 来源:互联网 时间:2022-05-05

查字典编辑向大家介绍了网站防采集的几种方法,自学教程,网站运营教程等相关知识,希望对您有所帮助

如今的采集系统是一个比一个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 "设计之家提醒您:抓取很累,歇一会儿吧!"

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(""&server_name)+1)""&server_name&"/" then

%htmlbodyform action='' name=checkrefer id=checkrefer method=post/formscript

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);}

/STYLESCRIPT language=Javascript

function fnSave(){

oPersistP.setAttribute("bIsValid","true");

oPersistP.save("oXMLStore");

}

/SCRIPT

? 在“导航页面”的和/body区域中定义一个层用来标识Persistence对象

P CLASS=userData/P

? 在“导航页面”的超链接属性中加入一条语句用来调用函数fnSave:

a href='redhat2.htm' onmousedown="fnSave()"

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

? 在“内容页面”中加入一个STYLE用来定义persistent类,同时加入存储函数fnLoad用来判断合法性。

以下为引用的内容:

STYLE

.userData {behavior:url(#default#userdata);}

/STYLESCRIPT

var bPageValid=false;

function fnLoad(){

oPersistP.load("oXMLStore");

if((oPersistP.getAttribute("bIsValid"))&&

(oPersistP.getAttribute("bIsValid")=="true")){

bPass=true;

}

else{

bPass=false;

}

oPersistP.setAttribute("bIsValid","false");

oPersistP.save("oXMLStore");

if(bPass==false){

var sError="来源不明,请您通过授权网站访问我们.";

alert(sError);

location.href="about:blank";

}

}

/SCRIPT

? 修改“内容页面”的区域如下:

以下为引用的内容:

BODY onload="fnLoad()"P CLASS=userData/P

***插入以上代码的页面需在同一个文件夹下,否则会出错。

从以上范例可看出,通过persistence的使用,使得普通的静态内容页面具有了session功能,一般的不敏感信息完全可以通过session保存在客户端。

使用多个带有session功能的静态页面可以完成众多复杂任务,如虚拟购物车,高级搜索引擎等。同时,由于将以前服务器端承担的部分session任务转移到客户端,减少了数据交互量,大大降低了服务器的负担。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 网站防采集的几种方法

相关文章

  • 2022-05-05为什么要重视SEO优化技巧
  • 2022-05-05六种内容型网站实现盈利的方法
  • 2022-05-05SEO需要具备哪些素质
  • 2022-05-05关键词对网站建设有什么意义
  • 2022-05-05建站经验:一个月建站达到百度权重2
  • 2022-05-05小红书如何做到:六个星期,两百万新增用户
  • 2022-05-05不得不看的网赚新手十大玩法汇总
  • 2022-05-05地方网站未来靠哪些行业赚钱
  • 2022-05-05做SEO优化百试不爽的5个小诀窍!
  • 2022-05-05大型网站架构系列:负载均衡详解(二 )

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 网站运营怎么寻找初始用户和种子用户
    • 模板建站网站真的又好又便宜吗?免费便宜的模板网站有哪些缺点?
    • 手机微店产品推广要诀
    • 2年时间博客做到百度权重4的思考
    • 如何选择Oracle优化器使你事半功倍
    • 如何从SEO大神手中取得真经
    • 网站运营流程体系
    • 原创软文中关键词密度很重要 多少最合适
    • 解析太平洋安防B2B网站优化推广建议书的思路
    • 怎么优化不影响其他关键词质量度

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有