我想知道如果在Symfony2 除了默认的csrf隐藏字段,你会在你的窗体中添加其他证券的平均网站。
我假设表单是用formbuilder制作的,默认情况下没有向用户显示captcha。
我从……那里得到了一些建议http://nedbatchelder.com/text/stopbots.html和https://www.stanford.edu/dept/its/communications/webservices/wiki/index.php/How_to_implement_a_SPAM_control_countermeasure_that_remains_accessible_using_the_Stanford_Web_Application_Toolkit1)你会在时间戳/日期时间+盐上添加一个值base64_decode & base64_encode
的隐藏字段吗?
因此,您可以将发送表单的时间括号限制在[3秒;1天],有验证约束。
这会惹恼播放机器人和表单填充机器人
2)你会添加一个文本字段,你隐藏与CSS(蜜罐),以便机器人填写时提交的形式?然后创建一个验证约束,这样如果字段不为空,则表单提交无效(如果需要进一步的操作,可能会登录您的数据库ip和用户代理)。
这会惹恼表单填充机器人。
3)随机字段名称和id,以便播放机器人不能发送表单而不重新加载网站页面。(虽然我还没有测试如果随机名称带来的问题与表单构建器)
这会惹恼播放机器人。
4)还有别的主意吗?
我最近使用了app/config/security中的access_control。yml文件。在这里,您可以使用角色(您可以使用默认/匿名角色或您可以定义自己的角色)和通道(http或https)来限制对表单所在路径的访问