我正在尝试阻止对我的jsp的目录遍历攻击。除了清理URL参数之外,我还希望不要完全公开目录结构。有没有办法让我隐藏/改变用户看到的路径以及正确的源代码?
答案 0 :(得分:0)
一种方法是将JSP放在WEB-INF文件夹下。 servlet引擎将限制对WEB-INF文件夹下任何文件的直接访问,从而实现您的目标。
为了能够使用这种方法,所有链接和表单操作都应映射到您正在使用的框架中的servlet或类似组件(例如,Struts中的操作,Spring MVC中的控制器等)。您不能公开JSP页面的直接链接(无论如何这都是个坏主意)。
例如,如果您使用的是Spring MVC,则链接将指向映射到Controller的URL。控制器将检索需要在JSP上显示的数据,然后转发到JSP(使用适当的Spring MVC方法)。
HTH