我很想知道人们是如何处理这个问题的。
我有一个单一表单的网站(使用div来显示/隐藏部分,使其看起来像三页)和一个提交按钮。表单通过jQuery AJAX POST提交给我的WebAPI方法。我不希望人们能够在快速提交中多次发送POST。
我在点击它时禁用了“提交”按钮,但这并不能阻止有人在控制台中编写脚本来重复调用该方法。他们可以查看javascript,查看URL,然后发布POST。
我听说过API密钥,但我不认为它们适用于此处,因为没有登录网站。如果有的话,重复请求仍然需要密钥。
我可以使用CAPTCHA ......但还有其他选择吗?
答案 0 :(得分:0)
最有用的是在表单中使用csrf标记。每个表单提交后,CSRF令牌将更新。
您可以轻松阻止重复请求。
在此处查找更多信息 https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet