我收到Fortify错误,该错误表明Method将未经验证的数据发送到Web浏览器,这可能导致浏览器执行恶意代码。 这是一个使用spring框架的Java Web应用程序。 控制器类:
public class Controller {
@Autowired
public Server server;
@Autowired
public Service xxxservice;
@RequestMapping("\path1\serverId\")
@ResponseBody
public String openFile(....) {
List<FilePath> filePath= getFilePaths(server, form.getPaths.values);
FileResultResponse response = xxxservice.openFile(server, getAbsolutePath(filePath);
String jsonOutput = getOutput(response,filePath);
return jsonOutput;
Server.java
class Server {
String serverName;
String serverDescription;
int serverId;
String serverAddress;
List<String> rootDirectories;
public void setServerName() {
this.serverName = serverName;
所有的setter方法都适用于上述类。
该报告在getOutput方法行上引发错误,指出在将数据发送到Web浏览器之前,应先验证server.setName,server.setRootDirectories等。 服务器值是通过以下getFilePaths()方法中的一些初始化方法设置的
public void initialization(server,root) {
this.server=server;
this.root=root;
应如何验证这些服务器值以纠正Fortify扫描问题?
答案 0 :(得分:0)
由于您没有像我这样处理字节数组,可能可以尝试使用
Jsoup.clean(filePath,Whitelist.basic());
这解决了我的大多数问题,除了需要从字节数组写入pdf的情况。