资讯专栏INFORMATION COLUMN

记录下死磕过的一个坑

lncwwn / 414人阅读

摘要:写在前面最近公司项目提了个很正常的需求,为什么说是很正常的需求呢,保守点说,大多数的项目都会默认有这样的功能,那就是指定页面,具体情况请听我再啰嗦啰嗦。

写在前面

最近公司项目提了个很正常的需求,为什么说是很正常的需求呢,保守点说,大多数的项目都会默认有这样的功能,那就是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 自行下载

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72499.html

相关文章

  • Flask+Nginx踩记录

    摘要:再往下就是我踩到的所有坑的记录啦。第个坑作为一个已经离不开强大自动补全的人,踩到的第一个坑是对的支持问题。第个坑关于页面跳转间如何获取当前登录的解决,然后任何都可以使用来访问当前登录的 因为之前的网站项目使用的是Spring MVC,而且当时为了尽快赶完,代码结构非常粗暴,还存在大量的copy-paste代码,然后被师兄批评,然后决定接受师兄的建议,对网站进行重构,并且使用听说可以让我...

    EdwardUp 评论0 收藏0
  • skywalking踩记录

    摘要:用来记录中踩过的坑因为的性能太差,两种解决方式加大集群。针对方法,修改中的参数 用来记录skywalking中踩过的坑 One trace segment has been abandoned, cause by buffer is full因为backend的性能太差,两种解决方式:1加大jvm,2集群。针对方法1,修改oapService.sh中的java参数

    Little_XM 评论0 收藏0
  • Apache Beam采系列——KafkaIO

    摘要:最近在用做流上的异常检测,期间遇到了很多问题,但是发现网上相关的资料很少,基本只能自己啃文档和瞎尝试。其中如有错漏,欢迎指出。即从一条数据中获得时间戳,然后以的格式返回。丢弃掉中的附加信息使用这一设置时,得到的中的元素是的和组成的键值对。 最近在用Apache beam做流上的异常检测,期间遇到了很多问题,但是发现网上相关的资料很少,基本只能自己啃文档和瞎尝试。所以想把自己踩过的坑记录...

    iliyaku 评论0 收藏0
  • 死磕安卓前序:MVP架构探究之旅—基础篇

    摘要:前言了解相关更多技术,可参考我就死磕安卓了,怎么了,接下来谈一谈我们来学习一下的基本认识。所以层主要的功能是向数据源发起请求取消该请求通知处理结果。 前言 了解相关更多技术,可参考《我就死磕安卓了,怎么了?》,接下来谈一谈我们来学习一下MVP的基本认识。 大家对MVC的架构模式再熟悉不过。今天我们就学习一下MVP架构模式。 MVC和MVP之间的对比 showImg(https://se...

    zsirfs 评论0 收藏0
  • 死磕安卓前序:MVP架构探究之旅—基础篇

    摘要:前言了解相关更多技术,可参考我就死磕安卓了,怎么了,接下来谈一谈我们来学习一下的基本认识。所以层主要的功能是向数据源发起请求取消该请求通知处理结果。 前言 了解相关更多技术,可参考《我就死磕安卓了,怎么了?》,接下来谈一谈我们来学习一下MVP的基本认识。 大家对MVC的架构模式再熟悉不过。今天我们就学习一下MVP架构模式。 MVC和MVP之间的对比 showImg(https://se...

    luckyw 评论0 收藏0

发表评论

0条评论

lncwwn

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<