隐藏使用验证码的机器人页面的一部分,并限制提供验证码的次数

时间:2018-10-10 22:59:12

标签: php recaptcha

我想为机器人(例如Google Bot)隐藏页面的一部分(一个div),但是人类应该可以看到它。 我对上述主题进行了大量研究,但找不到合适的解决方案。利用从搜索中获得的知识,我提出了以下解决方案。

  1. 向用户提供解决Google-reCaptcha问题的机会
  2. 用户解决验证码并提交查看内容的请求
  3. 创建一个持久性Cookie和一个新的Session-Variable
  4. 以上详细信息记录在具有IP和User-Agent的数据库中
  5. 只要会话有效,用户就可以查看内容
  6. 如果没有Session,但是存在有效的cookie
  7. 创建一个新的Session-Variable并更新数据库中的记录
  8. 如果cookie或会话无效
  9. 再次提供reCaptcha

因此,用户不必在每次访问该网站时都解决验证码问题,并且可以在同一目的的不同页面中使用有效的cookie。

任何有关如何限制用户解决验证码的提议的评论都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

我可以建议您通过制作一个输入文本框然后使用css使其对人眼不可见来反转此方法,然后在验证期间检查此无敌文本框是否已被填充?如果有,那么您将终止验证,因为只有机器人可以看到它,这称为蜜罐验证

从不依赖Cookie的数据,所有用户输入都是危险的并且可以操纵,因此步骤6是错误的。

关于IP地址在某些国家/地区,未经您的同意存储访问者的IP地址是违法的,请确保您的用户知道他们的IP地址将被存储,如果他们决定查看并继续使用该网站