如何php 防止采集别人采集你的网站

网站上的关键数据如何防止被采集? - CNode技术社区
这家伙很懒,什么个性签名都没有留下。
假设我的网站上有用户的电话号码或者私人相册地址
如何防止这些数据被采集?
目前我能想到的是: 通过ajax请求这些数据而不是放在html内容里面. 但是这样做有个问题就是通信时数据是明文的, 如何加密这些数据呢?
或者有其他的办法防止扫描?
请有经验的人教教
关键就是权限分配问题,如果对方无论是匿名或者登录后均无法访问到网站用户的电话号码或者私人相册地址,那么它就无法采集到这些数据。
如果对方能通过浏览器访问到这些数据,那么他就可以通过程序采集到这些数据。
说个简单的例子,如果某人拥有你家的所有钥匙,那么无论你家安了多少把锁,人家也照样能能出入自如。
如果是百姓网那种谁都能看的页面呢
一般程序采集数据都是有规律的,比如短时间内访问大量的页面,或者按照列表顺序依次抓取页面,可以根据这些规律来判断是否为程序访问的,并返回出错页面。
58是把电话号码做成图片的,增长别人的采集难度,不过还是可以处理。
如果是点击之后有功能的链接呢?
比如邮箱地址, 或者下载链接
如果是每次点击,通过ajax取数据,那么我就直接出发ajax功能。
如果数据是藏在html中的,点击后才显示,那么直接爬到页面解析dom就行了。
只要能看到的,没有爬不到的。只有“采集难度”的区别。
刚发现一个网站用这种方法来增加采集难度:把网页中显示的字符串数据,ASCII字符部分全部替换成图片(通过CSS来显示背景图片,都是一张图片,不同的字符背景偏移量不一样,而且这个图片也是随机的),这样即使采集过来了,某部分数据也是不完整的,大大增加采集难度。
这个很有意思, 谢谢
ajax通讯加密, 大家有办法吗?
防采集一直都是很让人蛋疼的问题。各种办法基本上都是防君子不防小人的。
我见过一个网站,很极端的防别人采集他的页面。
就是把页面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。。
不过防采集确实效果不错。
粗糙的伪代码,只表达一下思路。。。
希望你能理解我的意思 : )
其实这个思路我想过, 但是还是有办法采集的, 采集器用同样的方法解密一遍就好了, 破解难度不是很大
谁都能看的页面,那就是谁都能解密的页面。
用人机识别:你要看一个人的资料,先输一遍验证码。
只能增加成本,提高url规则的难度
这个影响用户体验, 而且现在验证码都已经不太好用了
具体如何做呢
把数据做成图片有什么方法么?
url 地址随机 别搞那种 有规律的 如 uid=1。。。。。uid=100 再有最好别出现列表页面
你好,因为链接不能访问了,想请教一下。我们这边现在有需求:网站对于数字比较敏感,所以不希望数字被抓取(让他们抓错的也行)。目前想的方案是在前端通过图片增加破解的成本。正好看到了您的这个回答,请问您是如何通过随机图片的方式来大大增加抓取和解析难度?
原评论的意思是 发现有其他网站使用这样的方法去做,不是说我这样做过。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的如何防止网站被采集
统计工具中发现网站被采集
如果你想学习SEO把网站做到百度首页或者想把线下实体店做到线上天猫首页,可加燕子SEO的QQ/微信:
或者加群QQ:,更多SEO知识技巧学习交流
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。所有回答(4)
凭什么不需别人封IP?
服务器在人家那里
买个宽带账号 &被封了 调用拨号接口 自动换ip
是啊,现在越来越多的网站开始反采集了,是个头疼的问题,我也经常遇到啊!!!
我曾经看过一篇文章介绍如何应对网站屏蔽IP的,讲的很好,&,作者是一位资深的爬虫开发者。
推荐使用神箭手云爬虫,完全在云上编写和执行爬虫,不需要配置任何开发环境,快速开发快速实现。
简单几行 javascript 就可以实现复杂的爬虫,同时提供很多功能函数:反反爬虫、 js 渲染、数据发布、图表分析、反防盗链等,这些在开发爬虫过程中经常会遇到的问题都由神箭手帮你解决。
清除回答草稿
&&&您需要以后才能回答,未注册用户请先。如何防止网站被采集
采集就是使用程序通过自动化操作复制数据。
首先说明,只要是能让浏览器访问的,就没有不能采集的。
但是可以通过一定的手段让采集变得非常麻烦,进而在大量数据的情况下延迟采集完成时间,加大采集难度。
一般的情况略过不说,几种情况比较特别的:
1、验证来路,cookie,session这些,比如PHP可以用fsockopen自定义HTTP Header,基本上这些方法没什么效果。
2、限速,限制某段时间内打开页面数量。这个只是推迟了下,大部分时间效果一般。比如某站限制一分钟之内只能打开30个网页,页面大小平均30K,则用迅雷批量下载就OK了,设置限速为2K,一觉醒来什么都好了。这个方法效果也基本没有。
3、比较特别的方法,设置一个数量级的阀值,达到这样数量后,必须验证方能继续,比如打开10个页面需要输入验证码,这个时候只需要保证验证码不可识别,分配一个session,以后的浏览过程中用session保证用户合法性,这样不影响后续访问,同时可以有效防止采集。
4、第三条对蜘蛛是致命的,此时可通过手机蜘蛛IP段,放行,其它的按照严格规则来。
5、3+4真是无敌的吗?远非可以高枕无忧,比如此站有10万个页面,则设置100个代理,在阀值前循环使用代理,这样实际上绕过了3的限制。
6、还有别的办法吗?不能,因为你的网站能用浏览器打开。
7、另外的方案,开发专有浏览器,专有数据加密。
8、社会工程学来说,进行知识产权保护,让采集的风险远大于成本,前提是你的数据值得你付出这么多来折腾。
从另外的角度来说,数据并非最重要的,就像钱不如人重要。回想百多年前,你家大清帝国装备一流,也还是败的一塌糊涂。
有好的文章希望站长之家帮助分享推广,猛戳这里
本网页浏览已超过3分钟,点击关闭或灰色背景,即可回到网页拒绝访问 | bbs.tui18.com | 百度云加速
请打开cookies.
此网站 (bbs.tui18.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(4370-ua98).
重新安装浏览器,或使用别的浏览器

我要回帖

更多关于 防止采集代码 的文章

 

随机推荐