我希望能够拦截File、FileReader、FileWriter、FileInputStream和FileOutputStream的构造函数,并防止任何文件名包含“..”(以防止路径遍历攻击)或“\0”(以防止文件名空字符攻击)。
我还有一个关于如何使用SecurityManager做同样事情的开放性问题,但是没有人回答过它,所以我希望这种替代方法能够奏效。
这是为一个在tomcat上的spring webapp。
我知道我可以通过创建自己的SafeFile、SafeFileReader等类并修改代码来使用它们来手动完成此操作。然而,我们的代码中有960个地方使用了这些对象的构造函数,所以除非这是唯一的方法,否则我更愿意避免这样做。
我还有一个关于如何使用SecurityManager做同样事情的开放性问题,但是没有人回答过它,所以我希望这种替代方法能够奏效。
这是为一个在tomcat上的spring webapp。
我知道我可以通过创建自己的SafeFile、SafeFileReader等类并修改代码来使用它们来手动完成此操作。然而,我们的代码中有960个地方使用了这些对象的构造函数,所以除非这是唯一的方法,否则我更愿意避免这样做。