现在网站采集的普及程度大家已见怪不怪,大凡CMS都要有采集功能。对于很多站长来说,网站建设初期,采集是很必要的,然而当你的网站做大之后,防采集问题就不得不考虑了。之前鄙人在discuz讨论过相关话题,并没有人引起重视,然而准备做专业资讯站的我,没有放弃对防采集的考虑。我们的目标是:能采,能防。亦即能攻能守。有人说你卑鄙,采别人的,不让别人采你的。事实是:现实是残酷的。
当前流行的防采集方法
1、分页文件名规则防采集对策
注重于用户体验的话不建议用分页,过长的文章才考虑下。加密分页文件名,事实上稍微动动脑筋就知道:你的分页链接总归是放在固定位置的,分析一下就可以进行采集了。
2、页面代码规则防采集对策
主要是多模板,防采集字符的方法。多套随机模板确实可以比较有效防止采集,但是对于中级的采集者,还是有办法突破的,你的模板数量有限,人家看中你的全站资源的话,就舍得稍微下点功夫。防采集字符功能显得更弱一些,因为那些字符为了不在页面显示,就要通过CSS,JS等方法处理,也就留下了痕迹了。
FLASH防采集的可能性
1、首先FLASH可以清晰显示汉字,可以实现在网页上文字和图片显示相同效果,并且可以使用简单CSS。事实上这样就够了,因为我们不是整个网页采用FLASH,而是在文章内容显示区域显示FLASH,FLASH载入文章内容即可,因此对于样式的要求不高。
2、FLASH与PHP,ASP,JSP之间的传递性。源于FLASH可以载入外部文本文件(包括静态网页文件,CSS文件),任何网络编程语言与FLASH互通都不成问题,因为他们返回的是HTML格式的文本文件。并且可以实现参数的传递,所以在读取数据库等方面完全可行
搜索引擎收录问题
如果文字全部在FLASH显示,搜索引擎就不能取得文章内容了。显然我们在文章页必须加入一个不显示的DIV用于放文章的内容,比如
文章内容
,然后在css把#content:display:none;了就好了。这里放文章内容不是等着别人采集吗?不是的,既然这个区域是给搜索引擎的,而不是给用户的,那么在添加文章时就应该进行一定处理,使其没有阅读价值,但是涵盖文章内容。举个例子:无规律地从原文截取某些内容插入到文章中,面向搜索引擎来说,没有多大影响,而如果别人要采集使用的话则是一篇乱七八糟的文字。
服务器负载问题
那是不是说不能生成静态?或者说静态文章中的FLASH还是要动态读取数据库内容?前面说过,FLASH可以载入外部文件,我们采用内容存文本之后,不使用静态页面,而使用伪静态即可,因为文章页面不需要读取数据库(在只调用文章的情况下)。调用一个处理过的txt文件(为搜索引擎)并在文章区域插入一个iframe的flash,便于滚动显示,而FLASH调用另一个真正的文章内容的文本文件。
安全性
处理过的txt文件,我们并不担心,因为其无多大阅读价值。那个FLASH所调用的文本文件才是关注的重点,也是我在整个过程中把握不大的环节。我现在的想法是加密文件名,flash通过文章ID号得到一个密码,解密得到文件名。但是FLASH也可以被反编译,得到解密代码的话,整个防范几近无效了,甚至给了人家方便,当然一般的采集工具是无法采集的。这一点也是我写这篇文章的动力之一,希望更多人一起想想更好的办法。(说明:flash通过ID号取文件名密码的过程,通过一个PHP文件读取数据库,我们可以单独建一个数据表存放这个数据,对服务器比较好。对这个文件,通过php的.htaccess等方法禁止外部网站访问。只要他人无法访问而FLASH文件可以正常调用即可较好达到加密的目的。)
基本方法
比如某文章页(这里的地址仅用于举例,并不能访问)/article/54239.html 在文章区域调用flash: content.swf?id=54239 那么FLASH内某帧通过调用content.php?id=54239从数据库得到一组密码cHbbGuiolHflash解密得地址/html/080211/54239_uiYhii900.db(文本文件),显示网页。
事实上,直接调用文本文件,而文本文件夹下所有文件禁止外部访问就可以达到目的,即可以省去读取数据库等加密解密过程。加密解密过程只是提供比较宽广实用的思路,大家完全可以根据自己的想法进行处理。
总结
由上,FLASH用于防采集完全可以胜任。对于技术开发,也没有什么很高的壁垒,都是一些基本应用。
这是很长时间考虑得到的结果,首发到站长网(),初衷是为微电子中国(!)新站的防采集做准备,因为上面将会是很多专业性行业性的文章。
期待有朋友更快开发出来,也希望大家可以进一步与我进行相关讨论,我的地址是:!
另外,本人虽然涉网多年,并没有发过什么文章。一是本人的懒惰,二是某些网友会无端谩骂文章作者。
中国自古主张和而不同,写文章并不是要所有人都认同,而是表达自己的观点,即便是“垃圾”,也希望能看在作者打了那么多字的份上给一份尊重:不赞同的提出自己的观点,想骂人的干脆不要评论(请不要说没有言论自由,我只是建议)。