假设我的网站上有用户的电话号码或者私人相册地址 如何防止这些数据被采集?
目前我能想到的是: 通过ajax请求这些数据而不是放在html内容里面. 但是这样做有个问题就是通信时数据是明文的, 如何加密这些数据呢?
或者有其他的办法防止扫描? 请有经验的人教教
关键就是权限分配问题,如果对方无论是匿名或者登录后均无法访问到网站用户的电话号码或者私人相册地址,那么它就无法采集到这些数据。 如果对方能通过浏览器访问到这些数据,那么他就可以通过程序采集到这些数据。
说个简单的例子,如果某人拥有你家的所有钥匙,那么无论你家安了多少把锁,人家也照样能能出入自如。
刚发现一个网站用这种方法来增加采集难度:把网页中显示的字符串数据,ASCII字符部分全部替换成图片(通过CSS来显示背景图片,都是一张图片,不同的字符背景偏移量不一样,而且这个图片也是随机的),这样即使采集过来了,某部分数据也是不完整的,大大增加采集难度。
防采集一直都是很让人蛋疼的问题。各种办法基本上都是防君子不防小人的。
我见过一个网站,很极端的防别人采集他的页面。
就是把页面HTML代码全部URLEncode加码。
然后再在前段用js的decode解码。
做一个例子
比如页面HTML代码是 <html><body>…呵呵呵…</body></html> 先在后台进行URLEncode成为一个字符串
String enHTML = “%20%sdf%s12%12…%asdf%qwe”
然后输出在模板上
document.write(decodeURI(“${enHTML}”));
(ps : 我用的是JAVA的模板写法,{enHTML}就是再模板中调用 enHTML字符串)
这样在页面源代码中看到的就是
%20%sdf%s12%12…%asdf%qwe
因为用了js的decodeURI解码,所以页面显示确实正常的。。
这种方式极不利于SEO。。
不过防采集确实效果不错。
粗糙的伪代码,只表达一下思路。。。
希望你能理解我的意思 : )