博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记录下死磕过的一个坑
阅读量:6878 次
发布时间:2019-06-26

本文共 972 字,大约阅读时间需要 3 分钟。

写在前面

最近公司项目提了个很正常的需求,为什么说是很正常的需求呢,保守点说,大多数的项目都会默认有这样的功能,那就是tomcat指定404页面,具体情况请听我再啰嗦啰嗦。有这么一场景,有人想攻击一家的项目,但是攻击前需要了解该公司项目的具体组成部分才可以进行真正的攻击吧,但是我也不知道该项目都有哪些目录?目录下有哪些文件?可以用笨方法就是去试,用一个大概常用的路径去访问该项目地址,比如ip/项目名/xxx,不存在的路径会看到默认的404页面会显示tomcat的版本和其它的一些信息,敏感信息会暴露,有点危险,所以我公司不想让别人看到这些,那就需要指定一个页面,找不到的路径都要转发这个页面。

1.修改web.xml

修改的文件路径如下,只要放在tomcat下的都走这个配置

/*/*/tomcat/conf/web.xml

在web.xml文件最后添加内容如下,error-code是浏览器状态码为404就转发404.jsp页面,这里需要注意一下,我就载在了这里,location是当前运行项目的下的路径,通俗点讲就是,一个项目名为songo,那么404.jsp页面就要放在songo项目下,对应的路径就是/songo/404.jsp,其实我也不知道为什么是这样设置,但是就是这样好使了

404
/404.jsp

这样的话就有个问题,如果tomcat下有多个项目,那每个项目根下都要放一个相同的404.jsp页面,如果您有什么更好的办法欢迎留言

2.404页面注意问题

404.jsp需要添加2行内容,如下

<%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk" isErrorPage="true"%><%response.setStatus(HttpServletResponse.SC_OK);%>

这2行主要是告诉浏览器访问服务器不存在的资源跳转的错误处理页面,但是返回正常的状态码,并且正常显示页面内容

另外,具体页面请到 github 自行

说在最后,如果有哪里有问题或写的不对的,请留言,我会尽量在第一时间给您答复

转载地址:http://hdgfl.baihongyu.com/

你可能感兴趣的文章
ORACLE 学习笔记1
查看>>
vmware格式转换
查看>>
PHP操作文件函数大全
查看>>
【Practical API Design学习笔记】工厂方法由于构造函数
查看>>
beego mysql in查询
查看>>
git 回退版本
查看>>
Dynamo:亚马逊的高可用性键-值存储(翻译)
查看>>
自动化运维要点
查看>>
推论统计10
查看>>
go mod 在使用私有gitlab时“go-get=1”错误解决
查看>>
Tableau Server 9.1.2 配置集群手册
查看>>
java逻辑运算符
查看>>
org.bson.codecs.configuration.CodecConfigurationException
查看>>
jsoup抓取网页+详细讲解
查看>>
Python实现修改Windows CMD命令行输出颜色(完全解析)
查看>>
HQL语句讲解
查看>>
Java | 源码阅读之Vector对比ArrayList
查看>>
npm 卸载模块
查看>>
PhalApi:[1.12] 参数规则:接口参数规则配置
查看>>
[3.11] 扩展类库:基于FastRoute的快速路由
查看>>