假设我有一个HTTP POST操作,其方法签名为:
RegisterUser(string email, string password)此方法的实现执行一些基本的验证(例如,查看用户存储库中是否还不存在电子邮件),然后将此信息作为记录存储在用户存储库中。
假设我接着从“注册”视图对此操作进行了AJAX调用。如果一些恶意用户在客户端查看该视图的标记,他们很容易就能看到RegisterUser操作的URL,并确定需要向其传递什么内容(电子邮件和密码)。
那么,是什么阻止了用户编写一个调用此操作1亿次的程序呢?我可以设置哪些安全防护措施?在ASP.NET MVC中有什么我应该阅读的东西可以保护我免受这样的POST攻击?
谢谢
发布于 2012-12-30 01:54:06
我建议您在IIS中安装Dynamic IP Restrictions模块,或者在您的应用程序中实现throttling solution。这将防止同一用户向控制器操作发送多个请求。但它不能保护您免受DDOS攻击,因为在这类攻击中,请求来自不同的IP地址。
发布于 2012-12-29 22:32:47
对您所描述的拒绝服务攻击最常见的预防形式是使用某种类型的Captcha。
尽管this question已经关闭,但它应该提供了一些关于在ASP.NET MVC中实现此功能的有用信息。
https://stackoverflow.com/questions/14082584
复制相似问题