这个话题是个古老的话题,在垃圾站大量泛滥,商业手段的层出不穷的今天,每个网站,每个企业,都是很担心自己的数据被对手拿去用,而至今,我还没见到一家企业能彻底的防住这个问题,难道是采集的手段提高了么?
不,如果按照我的观点(程序员),采集数据无法有大体的两种:
1:不支持客户端的采集
2:支持客户端的采集
一:所谓的不支持客户端采集,简称NOClientGet,包括PHP的file_get_contents()(是否启用该函数在PHP.INI去设置),和.NET的HttpRequest类和WebClient类,都支持的(在System.Net命名空间下面),采集的机理都是一个样子,把指针定在输出头,一直到Eof就算结束,之前的Header就不再说了。这种采集的时候不发送客户端验证,即无Cookie的,因为在服务器无法获取之,都算在代理处理。
二:支持客户端的采集就是能捎带上Cookie的,包括ASP和Ajax创建的XHttp对象,都是基于客户端的脚本(可以这么理解,但不完全准确),它他们想服务器请求的时候都发送Cookie和Session的。
鉴于两种不同的方式,第一种比较好防止,可以验证请求头,建立访问信任列表等等,就可以阻止被彩。
第二种就比较棘手(我可以理解ASP采集的垃圾数据比较多),如果单单从SessionState控制,是肯定不够的。在这方面,58同城(我不是托)做的有点意思,联系的电话方式是img src=X.aspx?id=fff23f23df23加密码&length=11,现对数据加密,然后再输出图片,不失为一种办法,加密的过程很多了,有x中。。。
难道生成图片不可一采集了么?不。
完全可以把图片down下了,分析,这是一般的同学程序水平办不到的,但,58的那种粗黑是可以的。。。是不是应该换和大的干扰素?生成图片太慢,也是一个要考虑的原因,还不如直接生成的好,但.gif直接被读了页不好。。。。难!
综上,你应该会采集数据的思路,所谓的攻,守就是对应的多家壁垒,至今没有万全之策。
天气:大雨,ccdot发表于2007-3-14 14:30:14,阅读了2178次,共有个4回复.