Jed*_*dja 33 asp.net asp.net-mvc json
作为ASP.NET MVC 2 Beta 2更新的一部分,默认情况下不允许JSON GET请求.看来您需要在从控制器返回对象之前将JsonRequestBehavior
字段设置为.JsonRequestBehavior.AllowGet
JsonResult
public JsonResult IsEmailValid(...)
{
JsonResult result = new JsonResult();
result.Data = ..... ;
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return result;
}
Run Code Online (Sandbox Code Playgroud)
这背后的原因是什么?如果我使用JSON GET尝试进行远程验证,我应该使用不同的技术吗?
默认情况下,HTTP GET被禁用,作为ASP.NET跨站请求伪造(CSRF/XSRF)保护的一部分.如果您的Web服务接受GET请求,那么它们可能容易受到第三方站点的攻击,这些站点通过<script />
标记发出请求,并可能通过修改JavaScript setter来获取响应.
但值得注意的是,禁用GET请求不足以阻止CSRF攻击,也不是保护您的服务免受上述攻击类型影响的唯一方法.请参阅针对跨站点请求伪造的强大防御,以便对不同的攻击媒介及其如何防范它们进行详细分析.
归档时间: |
|
查看次数: |
20984 次 |
最近记录: |