我已经阅读了许多博客文章,介绍了如何使用[ValidateAntiForgeryToken]属性验证我们的Web应用程序中的用户。但是这有一些限制,例如只能用于HTTPPOST方法。我的要求是我有一个MVC 5应用程序,它使用HTTPGET方法返回敏感数据(例如:银行对帐单)。如何从匿名用户那里授权/保护这些操作方法? 我想写一个基于令牌的授权机制。
答案 0 :(得分:2)
您是对的 - ValidateAntiForgeryToken可以缓解Cross-Site-REquest-Forgery(CSRF)。它特定于POST,因为它可以关联服务器发出的响应和用户发布的HTML。对于GET,没有CSRF的概念。
要保护GETS免受匿名用户的攻击,请在要求用户登录网站的任何方法上使用[Authorize]
属性。如果不是,则会按照web.config中的配置将其重定向到登录部分。