java如何防⽌⽬录遍历_java–什么是防御路径遍历攻击的最好
的⽅法?
职称英语历年真题我有⼀个Java服务器实现(TFTP,如果你很重要),我想确保它不容易受到路径遍历攻击允许访问⽂件和位置不应该可⽤。百思英语
我最好的尝试是防⽌到⽬前为⽌拒绝任何匹配File.isAbsolute()的条⽬,然后依靠CanonicalPath()来解析任何../和./组件的路径。最后,我确保⽣成的路径仍在我的服务器的所需根⽬录中:
public String sanitize(final File dir, final String entry) throws IOException {
if (entry.length() == 0) {
throw new PathTraversalException(entry);碳和碳的氧化物
burndown}
if (new File(entry).isAbsolute()) {
什么是px
throw new PathTraversalException(entry);
}
final String canonicalDirPath = CanonicalPath() + File.parator;
final String canonicalEntryPath = new File(dir, entry).getCanonicalPath();diplomatic
if (!canonicalEntryPath.startsWith(canonicalDirPath)) {
电风扇的英文throw new PathTraversalException(entry);
}
cs名字return canonicalEntryPath.substring(canonicalDirPath.length());
回馈英文}
有没有安全问题,这错过了?是否更好/更快可靠地实现相同的结果?
代码需要在Windows和Linux上⼀致⼯作。taylor swift mean