几招使你的网站免受采集之苦
优采云 发布时间: 2020-08-26 19:56几招使你的网站免受采集之苦
%>
end if
end if
%>
第三种方式:
用Persistence为静态页面降低session功能
一般来说,只有服务器端的CGI程序(ASP、PHP、JSP)具有session会话功能,用来保存用户在网站期间(会话)的活动数据信息,而对于数目诸多的静态页面(HTML)来说,只能使用客户端的cookies来保存临时活动数据,但对于cookies的操作是个太繁琐的过程,远没有对于session操作那样简便。为此,本文向读者推荐一种在DHTML中的解决方案“Persistence技术”,使得在静态页面中也能使用session会话功能。
MicrosoftInternet 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拿来授权。
· 在“导航页面”的和区域中定义一个层拿来标示Persistence对象
· 在“导航页面”的超链接属性中加入一条句子拿来调用函数fnSave:
接下来,为“内容页面”加入验证功能。
· 在“内容页面”中加入一个STYLE拿来定义persistent类,同时加入存储函数fnLoad拿来判定合法性。
· 修改“内容页面”的区域如下:
***插入以上代码的页面需在同一个文件夹下,否则会出错。
从以上范例可看出,通过persistence的使用,使得普通的静态内容页*敏*感*词*有了session功能,一般的不敏感信息完全可以通过session保存在客户端。
使用多个带有session功能的静态页面可以完成诸多复杂任务,如虚拟购物车,高级搜索引擎等。同时,由于将原先服务器端承当的部份session任务转移到客户端,减少了数据交互量,大大增加了服务器的负担。