tomcat 如何禁止下载 jsp 源码

2022-02-17 12:44:00 +08:00
 FONG2

tomcat 服务器 webapps 目录下有 xx.jsp 文件 通过访问 http://127.0.0.1:8080/xx.jsp/ (注意最后一个斜杠) 浏览器会弹出下载,保存文件后发现下载回来的是 jsp 源文件,即未编译版本,能看到 java 代码的。

curl 'http://127.0.0.1:8080/xx.jsp/' 情况也一致 排除缓存

尝试过增加 filter 拦截,但是发现这个是 defaultServlet 行为,这属于最外层,代码无法干预

涉及 jsp 页面有点多,全部挪到 web-inf 工作量有点大,现在护网也不能这样操作

目前唯一的思路是加 ng ,在 ng 层面重写 url

不知道大家有没有别的思路

其实源码也没啥敏感信息,但是他扫出来就非要整改

3841 次点击
所在节点    Java
24 条回复
oneisall8955
2022-02-17 17:07:05 +08:00
原帖不是说关了 tomcat 还能下载吗?
hcocoa
2022-02-17 18:01:18 +08:00
去官网下个干净的 tomcat 解压,配置文件也不要直接复制而是手动修改,重新部署一下试试
xohome
2022-02-17 18:14:04 +08:00
你是不是把 jsp 文件放到工程根目录了? WEB-INF 下的文件才无法访问。
sprite82
2022-02-18 14:45:57 +08:00
你这放工程根目录就当作是静态资源了,把 jsp 后缀的当作 controller 请求拦截掉
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/834469

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX