怎么通过判断IP的方式,限制别人采集网站上的内容?

解决方案 »

  1.   

    很明确地说,ip判断是没用的再很明确地说,一般web程序判断都只能对付“君子”防采集还是要从内容和服务器级别两重联合
    服务器要监视异常访问,例如一些私密或不存在的url访问
    内容要做干扰手段,就是让对方采集了也很难排除干扰,但却不影响肉眼阅读
      

  2.   

    如google一样,内容尽量是分散的js
      

  3.   

    如果是用IP的话,大家能不能给个详细一点的步骤。要对每个访问页面的IP都记录吗?怎么判断访问的频率?
      

  4.   

    原理是这样,可是怎么实现呢?我想的是:
    1.当客户端请求该页面的时候,记录请求时间,并用客户端ip去数据库查询。
    2.如果有结果,取出时间值最大的一条记录,并计算客户端请求时间与查询时间的差。如果这个值小于定义的时间间隔,就是采集。
    3.如果没有查询结果,将该IP写入数据库。
    但是这样的判断显然是不准确的。
      

  5.   

    我想你先放弃用ip做识别标志的想法,因为从一个局域网内发出的请求都具有相同的ip。比如网吧、小区宽带、一个企业等都是这样
    我们可以用 session 做唯一识别
    流程如下:
    1、检查 session 是否存在,如不存在则转向主页(当采集者不模拟cookie的话,将只能访问首页)
    2、计算 session 中记录的上次访问时间与当前时间的差,如果小于3到5秒(通常不可能在这么短的时间里把页面内容看完)
    3、检查 session 中记录的上次访问的 url 是否与本次访问的 url 相同,如相同则放弃检查。因为可能是刷新了一下
    4、在 session 中记录本次访问时间和url
    5、能到这里的话,就表示请求者在极短的时间里连续访问不同的页面
       所以你可以在这里做拒绝访问的处理,或者宽容一点重复道2若干次再拒绝当然,采集者愿意拉开时间间隔的话,是无法判断的。你总不能禁止用户一页一页的浏览你的网站吧?