Ajax调用WebAPI - 如何防止垃圾邮件提交按钮?

时间:2017-05-17 08:26:24

标签: forms web-services api

我很想知道人们是如何处理这个问题的。

我有一个单一表单的网站(使用div来显示/隐藏部分,使其看起来像三页)和一个提交按钮。表单通过jQuery AJAX POST提交给我的WebAPI方法。我不希望人们能够在快速提交中多次发送POST。

我在点击它时禁用了“提交”按钮,但这并不能阻止有人在控制台中编写脚本来重复调用该方法。他们可以查看javascript,查看URL,然后发布POST。

我听说过API密钥,但我不认为它们适用于此处,因为没有登录网站。如果有的话,重复请求仍然需要密钥。

我可以使用CAPTCHA ......但还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

最有用的是在表单中使用csrf标记。每个表单提交后,CSRF令牌将更新。

您可以轻松阻止重复请求。

在此处查找更多信息 https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet