表单机器人对策测试

7

我是一名网站开发者,我们的网站偶尔会受到表单机器人的困扰。最近,我收到了一个错误通知,说是表单提交出现了问题,这对于人类用户来说应该是不可能的。你不能在没有启用JavaScript的情况下提交表单,但服务器端脚本却接收到了JavaScript验证不允许的表单字段值。

我怀疑表单机器人成功地在未运行JavaScript的情况下提交了表单,但我并不完全确定这是否是问题所在,因为真正的用户也遇到了类似的问题。我知道如何使用蜜罐字段作为对抗表单机器人的措施,但我需要测试我的防御措施。因此,我需要一个可用的表单机器人来攻击我的表单,以便我可以看到结果,并验证我的防御措施是否有效。

我认为您可以使用PHP和Curl来提交Web表单,但我找不到任何示例代码。我更愿意使用实际的表单机器人,以确保蜜罐字段不容易被绕过。

有人知道目前用于攻击Web表单的方法吗?您如何测试您的防御措施以确保其有效性?

2个回答

1

个人而言,我使用一个名为Tamper Data的FireFox扩展程序。您可以正常提交表单,但在发送到服务器之前,您可以修改HTTP参数(变量、cookie等)。这样,您就可以手动更改已验证的字段。您可以使用PHP和CURL自动化它...

问题是,您不想对其运行实际机器人,因为那只会测试一种(也许两种)打破您的验证的方法。您想运行自己的机器人,这样您就可以测试您能想到的每种可能的组合。如果您使用PHP/CURL自动化它,您可以随着每次更改(集成测试)运行测试,以验证您没有“破坏”任何内容...编写它不应该太难,因为CURL函数非常好文档化...


1
我最终找到了一些CURL代码,这是我上次与这个问题搏斗时尝试过的。我想Tamper Data会很有用,可以为下拉列表设置默认值。然后我就可以看到这会在服务器端代码中引起什么样的错误了。 - rsrobbins

0

你考虑过使用验证码来保护你的表单吗?


我相信我的客户不想要验证码。那会儿阻碍申请者。 - rsrobbins
Google推出了reCaptcha的新版本3,它不会干扰用户体验,而是基于行为分析而非人类交互。请查看以下链接:https://developers.google.com/recaptcha/docs/v3 - Necromancer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接