gpt4 book ai didi

java - 我想使用 http doDelete() 方法从服务器中删除文件

转载 作者:行者123 更新时间:2023-11-29 07:52:48 25 4
gpt4 key购买 nike

如果我想删除 welcome.html 文件如何使用 http doDelete() 方法删除它如何操作我是 java 的新手所以请帮助我

public void doDelete(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean success = false;
File file = null;
try {
file = searchFile(request);
} catch (Exception ex) {
java.util.logging.Logger.getLogger(Request.class.getName()).
log(java.util.logging.Level.SEVERE, null, ex);
}
if (!file.exists()) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
} else {
success = file.delete(); // actual delete operation
}
if (success) {
response.setStatus(HttpServletResponse.SC_NO_CONTENT);
}
}

private String searchFile(HttpServletRequest req) throws Exception {
String fileName = req.getPathInfo();
fileName = fileName.substring(1);
return fileName;
}

最佳答案

当我们等待您解释如何您的代码“不起作用”时……我应该指出,如果这段代码确实起作用,那将是极度危险

您的代码不会尝试检查是否允许用户(即发送请求的人)应该删除文件,或者用户试图删除的内容。如果某个坏人向您发送了一个包含“..”的 DELETE 请求,他们可能会诱骗您的 Web 服务器尝试删除文件系统中的任何文件!!!(希望您永远不会以“root”身份运行你的网络服务器......)


更新:您问题的答案很简单。改变

file = searchFile(request);

file = new File(searchFile(request));

但这是最少的问题!

关于java - 我想使用 http doDelete() 方法从服务器中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19905492/

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