Symfony2表单的最佳实践

时间:2014-05-05 14:30:51

标签: php forms symfony

我想知道在Symfony2 除了默认的csrf隐藏字段之外,您是否会在平均网站的表单中添加其他证券

我假设表格是使用formbuilder制作的,默认情况下不会向用户显示验证码。

我接受了一些建议 http://nedbatchelder.com/text/stopbots.htmlhttps://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_Toolkit

1)你会在timestamp / datetime + salt上添加一个值为base64_decode & base64_encode的隐藏字段吗?

因此,你可以限制发送表格的时间段[3秒; 1天],带有验证约束。

这会惹恼播放机器人和填表机器人

2)您是否会添加一个用CSS(蜜罐)隐藏的文本字段,以便机器人在提交表单时填写它?然后创建一个验证约束,这样如果该字段不为空,则表单提交无效(如果需要进一步的操作,可以登录数据库ip和用户代理)。

这会使形式填充机器人烦恼。

3)随机化字段名称和ID,以便播放机器人无法在不重新加载网站页面的情况下发送表单。 (虽然我还没有测试随机名称是否会给表单生成器带来问题)

这会让播放机器人烦恼。

4)还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

我最近在app / config / security.yml文件中使用了access_control。在那里,您可以使用角色(您可以使用默认/匿名角色或您可以定义自己的角色)和频道(http或https)来限制对您构成生活的路径的访问权限