【问题标题】:Could a bot imitate random human behaviour when clicking on an image?机器人可以在点击图像时模仿随机的人类行为吗?
【发布时间】:2014-09-30 21:02:49
【问题描述】:

请告诉我,这样的验证码替代方案可行吗?

基本上,如果我使用这样的东西:

<?php
$foo_x=$_POST['foo_x'];
$foo_y=$_POST['foo_y']
?>

<form action="http://foo.com/function/" method="post">
<input type="image" alt="image" src="img.jpg" name="foo"/>
</form>

所以一个真正的用户会点击一个随机的 X、Y 坐标,然后我可以将其传递给“函数”,该函数又会将用户发送到内容,除非它是一个机器人。

问题是机器人是否会转到action= 中指定的链接,是否会通过图像“点击”它,如果是这样,那么机器人会获得随机坐标还是只是“点击”确切的中心还是 0,0 坐标?或者它会直接转到链接而不触发$_POST?是否可以对机器人进行编程以“点击”此类图像上的随机点?

您知道实现这种反僵尸图像功能的更好方法吗?

谢谢!

【问题讨论】:

  • 使用此方法获取坐标的唯一方法是使用 javascript。有人编写一个机器人来绕过这个并不需要太多。
  • 伪造 $_POST 数据很容易。机器人不会“点击”图像,只需发送 $_POST['foo_x'] 和 $_POST['foo_y'] 值
  • @Ian input type="image" 在 $_POST 中发送 x 和 y 坐标,那么为什么要使用 Javascript?
  • 为什么是 JS,伊恩? ôkio,那么您如何保护 POST 数据不被伪造呢?谢谢。

标签: php image security captcha bots


【解决方案1】:

我讨厌验证码,您可以轻松编写一个函数,以某种方式猜测它是人类还是机器人,即

  1. 页面加载和表单提交的时间差,用户提交时间会更长
  2. 跟踪鼠标是否在最初(即 X 秒)移动,或者是否为不使用鼠标的用户按下了 TAB 键。
  3. 有一个 CSS 隐藏输入字段,如果它被填充并且 #1 或 #2 返回 ALARM 则它是一个机器人 将其中的 3 个结合起来将得到 99% 的机器人。

【讨论】:

  • 第二个建议中将使用什么代码?谢谢。
猜你喜欢
  • 1970-01-01
  • 2021-11-10
  • 2014-10-21
  • 1970-01-01
  • 1970-01-01
  • 2018-09-27
  • 2019-01-29
  • 2015-03-23
  • 2021-04-17
相关资源
最近更新 更多