我的代码中有一种情况,如下所示[不完全相同,但类似如下];
String value = request.getParameter("val");
int myVal = validateParameter(value);
Model myModel = new Model();
myModel.setVal(myVal);
return new ModelAndView(myModel); //Getting security warning here
validateParameter
方法在同一类中,如下所示;
private int validateParameter(String value)
{
int retVal = 0;
if (value.matches("[0-9]+"))
retVal = Integer.parseInt(value);
if(retVal < 0) return 0;
else return retVal;
}
现在,每次运行强化扫描时,我都会在此行return new ModelAndView(myModel);
上收到安全警告违反信任边界。
我知道我从请求参数接收的值是不可信的,这就是为什么我要验证使用validateParameter
方法的原因,只有在此之后,我才将该值用于其他区域。现在我不明白为什么会收到此警告?
任何需要解决的帮助对我来说都是很大的帮助。如果您需要更多详细信息,请告诉我。
谢谢。