手头的一般任务:阻止在基于多用户网络的应用程序中提交双重表单。想想金融交易。
我有两种方法可以串联使用:
我正在寻找主题专家来贡献他们的最佳实践以及深奥的技巧。可以是任何语言和框架,但Django特别感兴趣。关于手头的任务已经在网上写了很多,但是最好有这里显示的最佳实践。
答案 0 :(得分:8)
常见的解决方案是每次生成表单时在服务器上生成令牌。将令牌存储在服务器上,将其作为隐藏字段添加到表单中,并在获得带有该令牌的表单提交后将其删除。
如果您在没有有效令牌的情况下提交表单,则表示该表单已提交并忽略。
这具有为项目添加XSRF保护的附加优势。