是否可以仅将所有MVC操作限制为HttpPost?

时间:2017-08-21 09:33:31

标签: asp.net-mvc

出于安全原因,我被要求将[HttpPost]应用于一个MVC项目的所有操作,因为POST比GET更安全,我不同意。

但无论如何,是否有可能这样做?

如果是,那些<a href='Somewhere'>Click Me</a>window.location='http:\\xxx.xxx\Somewhere'等脚本呢?他们都发送了GET请求吗?

更新

刚刚获悉这是Fortify报告的一个高优先级问题 - ''ASP.NET MVC不良做法:控制器操作不受POST限制。“

1 个答案:

答案 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);
 }