将不可解析的cruft添加到ASP.NET MVC JsonResult
根据这些职位:
JSON不可解析的cruft:为什么这么认真?
为什么人们把代码放在“扔1; <不要邪恶>”和“for(;;);” 在json响应面前?
为什么Google会在(1); 到他们的JSON响应?
我想遵循以下答案中提出的建议:Web应用程序开发人员应该如何防御JSON劫持?
有没有简单的方法来添加一个不可解析的cruft到使用System.Web.Mvc.JsonResult
构建的JSON响应? security.se
文章建议我在响应开始时使用</*
。
您可以编写自定义操作结果来执行此操作:
public class SafeJsonResult: JsonResult
{
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.Write("</*");
base.ExecuteResult(context);
}
}
然后用它代替默认的一个:
public ActionResult Index()
{
return new SafeJsonResult
{
Data = new { Foo = "bar" },
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
};
}
链接地址: http://www.djcxy.com/p/1313.html