php如何防止网站内容被采集?

ttzzcym 2012-11-05 02:06:23
怎么通过判断IP的方式,限制别人采集网站上的内容?
...全文
644 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
gbgaobo5t 2012-11-06
  • 打赏
  • 举报
回复
图片,是数据流显示,弄个程序监控下,某个IP,访问的时间长短,来限制
tiyee 2012-11-06
  • 打赏
  • 举报
回复
采用随机码的形式,干扰采集。
ttzzcym 2012-11-06
  • 打赏
  • 举报
回复
如果是用IP的话,大家能不能给个详细一点的步骤。要对每个访问页面的IP都记录吗?怎么判断访问的频率?
lingyue1012 2012-11-06
  • 打赏
  • 举报
回复
不过可以弄的复杂点
lingyue1012 2012-11-06
  • 打赏
  • 举报
回复
引用 14 楼 bully1990 的回复:
没用的。。 都可以伪造~ 除非只给自己看..
同意
bully1990 2012-11-06
  • 打赏
  • 举报
回复
没用的。。 都可以伪造~ 除非只给自己看..
xuzuning 2012-11-06
  • 打赏
  • 举报
回复
我想你先放弃用ip做识别标志的想法,因为从一个局域网内发出的请求都具有相同的ip。比如网吧、小区宽带、一个企业等都是这样 我们可以用 session 做唯一识别 流程如下: 1、检查 session 是否存在,如不存在则转向主页(当采集者不模拟cookie的话,将只能访问首页) 2、计算 session 中记录的上次访问时间与当前时间的差,如果小于3到5秒(通常不可能在这么短的时间里把页面内容看完) 3、检查 session 中记录的上次访问的 url 是否与本次访问的 url 相同,如相同则放弃检查。因为可能是刷新了一下 4、在 session 中记录本次访问时间和url 5、能到这里的话,就表示请求者在极短的时间里连续访问不同的页面 所以你可以在这里做拒绝访问的处理,或者宽容一点重复道2若干次再拒绝 当然,采集者愿意拉开时间间隔的话,是无法判断的。你总不能禁止用户一页一页的浏览你的网站吧?
ttzzcym 2012-11-06
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
来自同一请求源的间隔很小的请求,即可视为采集
原理是这样,可是怎么实现呢?我想的是: 1.当客户端请求该页面的时候,记录请求时间,并用客户端ip去数据库查询。 2.如果有结果,取出时间值最大的一条记录,并计算客户端请求时间与查询时间的差。如果这个值小于定义的时间间隔,就是采集。 3.如果没有查询结果,将该IP写入数据库。 但是这样的判断显然是不准确的。
happypiggy2010 2012-11-06
  • 打赏
  • 举报
回复
如google一样,内容尽量是分散的js
brilliant_fgh 2012-11-06
  • 打赏
  • 举报
回复
用js脚本输出标签内容,就采集不到内容了.
helloyou0 2012-11-05
  • 打赏
  • 举报
回复
可以要求用户亲自到公司大厅观看页面, 不可以携带手机相机等设备, 观看时间不得超过5分钟以防大脑记忆.....
黄袍披身 2012-11-05
  • 打赏
  • 举报
回复
输出成图片...pdf....呵呵
ImN1 2012-11-05
  • 打赏
  • 举报
回复
很明确地说,ip判断是没用的 再很明确地说,一般web程序判断都只能对付“君子” 防采集还是要从内容和服务器级别两重联合 服务器要监视异常访问,例如一些私密或不存在的url访问 内容要做干扰手段,就是让对方采集了也很难排除干扰,但却不影响肉眼阅读
xuzuning 2012-11-05
  • 打赏
  • 举报
回复
来自同一请求源的间隔很小的请求,即可视为采集
ttzzcym 2012-11-05
  • 打赏
  • 举报
回复
怎么能看出哪些IP是正常访问的?哪些不是?
coder 2012-11-05
  • 打赏
  • 举报
回复
把来访用户的ip记录下来。然后搞个统计程序

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧