我在List<Data> dataList = jdbcTemplate.query
位置收到错误。
AppServices / SRC /主/ JAVA / COM /姆布萨/应用程序/刀/ IMPL / AppRequestDAOImpl.java 从数据库获取查询元素的数据。这个元素 然后,值会在没有经过适当过滤的情况下流经代码 编码并最终在方法中显示给用户 getRequestDetail在第117行 AppWeb / SRC /主/ JAVA / COM /姆布萨/应用/控制器/ AppRequestController.java。 这可能会启用存储的跨站点脚本攻击。
List<Data> dataList = jdbcTemplate.query(new PreparedStatementCreator() {
@Override
public PreparedStatement createPreparedStatement(Connection conn) throws SQLException {
PreparedStatement pstmt = conn.prepareStatement(fSQL);
int index = 1;
for(Object param: effParams) {
pstmt.setString(index, (String) param);
index++;
}
return pstmt;
}
}, new RequestMapper());
public class RequestMapper implements RowMapper<Data> {
@Override
public Data mapRow(ResultSet rs, int rowNum) throws SQLException {
Data data = new Data();
data.setName(rs.getString("name"));
return data ;
}
}
我在此处添加了PreparedStatement
来解决此问题,并尝试在输出数据上添加HtmlUtil.htmlEscape
,但仍然无法解决此问题。
任何人都可以帮忙解决这个问题吗?