gpt4 book ai didi

fortify - HP Fortify - 批量分配

转载 作者:行者123 更新时间:2023-12-02 04:39:07 35 4
gpt4 key购买 nike

对于我的 Controller 中的大多数操作方法,HP fortify scan 给我一条消息作为Mass Assignment: Insecure Binder Configuration (API Abuse, Structural)。以下是操作方法的示例。

<HttpPost>
Function Edit(model as GridViewModel)
Dim manager as new Managers
manager.Edit(model.id, model.name, model.desc,model.class)
Return Nothing
End Function

当我尝试以下方法时,错误消失了。

<HttpPost>
Function Edit(id as integer?,name as string, desc as string, class as string)
Dim manager as new Managers
manager.Edit(id, name, desc,class)
Return Nothing
End Function

但上面的代码似乎是 MVC 的不良做法。请提出解决此问题的方法。

最佳答案

在 C# 中,您可以指定模型中的哪些项目将被允许进入。例如,您的例程在 C# 中如下所示:

[HttpPost]
public ActionResult Edit([Bind(Include = "id,name,desc,class")] GridviewModel model)
{
Managers manager = new Managers();
manager.Edit(model.id, model.name, model.desc, model.class);

return RedirectToAction("Edit", "[Controller]");
}

这至少应该为您提供一个起点来研究您正在编写的语言,看看它们是否允许相同的操作。

除了能够包含特定参数(白名单)之外,您还可以简单地使用 [Bind(Exclude = "")] 排除参数

关于fortify - HP Fortify - 批量分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39015040/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com