出于安全原因,我被要求将[HttpPost]
应用于一个MVC项目的所有操作,因为POST比GET更安全,我不同意。
但无论如何,是否有可能这样做?
如果是,那些<a href='Somewhere'>Click Me</a>
和window.location='http:\\xxx.xxx\Somewhere'
等脚本呢?他们都发送了GET请求吗?
刚刚获悉这是Fortify报告的一个高优先级问题 - ''ASP.NET MVC不良做法:控制器操作不受POST限制。“
答案 0 :(得分:0)
在MVC第一次调用中,你将使用/将应该是HttpGet类型,在MVC中默认,即如果你没有提到Action将是HttpGet类型。
在您的情况下,如果您希望您的HttGet安全,您可以使用许多方法术语,如[授权]属性[RequireHttps],编码html等。
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(Employee model)
{
//some logic
return View(model);
}