ASP.NET MVC POST动作请求保护

时间:2012-12-29 14:27:56

标签: asp.net-mvc

想象一下,我有一个HTTP POST动作,方法签名为:

RegisterUser(string email, string password)

此方法的实现会进行一些基本验证(例如,查看用户存储库中是否已存在电子邮件),然后将此信息存储为用户存储库中的记录。

说我然后继续从“注册”视图对此操作进行AJAX调用。如果某个恶意用户在客户端查看该视图的标记,他们很容易就能看到RegisterUser操作的URL并确定他们需要传递给他们的内容(电子邮件和密码)。

然后是什么阻止该用户编写一个调用此操作的程序1亿次?我可以采取什么安全防护措施?我是否应该在ASP.NET MVC中阅读一些可以保护我免受此类POST攻击的内容?

由于

2 个答案:

答案 0 :(得分:2)

我建议您在IIS中安装Dynamic IP Restrictions模块或在应用程序中实现throttling solution。这将阻止同一用户向控制器操作发送多个请求。它不会保护您免受DDOS攻击,因为在这种攻击中,请求来自不同的IP地址。

答案 1 :(得分:1)

您正在描述的最常见的防止拒绝服务(DOS)攻击的形式是使用某种类型的Captcha

虽然this question已关闭,但它应该提供一些有关在ASP.NET MVC中实现它的有用信息