`

Struts2 的多选项使用 List 接受 避免注入漏洞

阅读更多

后台管理中使用的多选删除,

 

本来使用的是字符串变量 MessID 来接受页面构建的 以 ,分割的字符串,直接传递到 dao 层 。

 

页面代码:循环的

<input name="MessID" type="checkbox" value="${vo.id}" /> 

<input name="MessID" type="checkbox" value="${vo.id}" /> 

<input name="MessID" type="checkbox" value="${vo.id}" /> 

<input name="MessID" type="checkbox" value="${vo.id}" />

 

 

被爆出严重的安全漏洞

 

于是打回重新修改。

 

建议直接使用 List<Long> MessID ;接受 ,这样不使用字符串,可以避免构造SQL造成安全漏洞。

 

在Action层,可以使用Spring 的字符串工具 把List解析成以 , 分割的字符串。

 

String ids = StringUtils.arrayToDelimitedString(messItem_id.toArray(), ",");


messService.deleteMessItem(ids);

 

这样 ,避免了 SQL 注入 。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics