tomcat中Cache-Control 的配置

编写过滤器

这里主要提供了js,css缓存

如果想要的话,自己可以直接添加图片的映射




package com.foo.filter;

 
import org.apache.log4j.Logger;
 
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
public class ReplyHeaderFilter implements Filter
{
   static Logger log = Logger.getLogger(ReplyHeaderFilter.class);
   private String[][] replyHeaders = {
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
请求头攻击(Header Attack)是指攻击者通过伪造或修改请求头来攻击 Web 应用程序,从而导致应用程序无法正常工作或被攻击者利用。为了防止此类攻击,Tomcat提供了一些配置方式: 1. 使用<b>RemoteIpValve</b>过滤器:在 server.xml 文件,可以添加如下配置: ``` <Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For" remoteIpProxiesHeader="X-Forwarded-By" protocolHeader="X-Forwarded-Proto" /> ``` 该配置会将请求头的 X-Forwarded-For、X-Forwarded-By、X-Forwarded-Proto 等头信息作为客户端真实的 IP、代理服务器 IP 和协议类型进行解析,从而避免了攻击者伪造请求头的情况。 2. 配置<b>HttpHeaderSecurityFilter</b>过滤器:在 web.xml 文件,可以添加如下配置: ``` <filter> <filter-name>HttpHeaderSecurityFilter</filter-name> <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class> <init-param> <param-name>antiClickJackingEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>antiClickJackingOption</param-name> <param-value>SAMEORIGIN</param-value> </init-param> <init-param> <param-name>cacheControlEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>cacheControlMaxAge</param-name> <param-value>31536000</param-value> </init-param> <init-param> <param-name>xssProtectionEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>xssProtectionBlockEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>xssProtectionBlockMode</param-name> <param-value>block</param-value> </init-param> <init-param> <param-name>xssProtectionSafariEnabled</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>HttpHeaderSecurityFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 该配置会在响应头添加一些安全相关的 HTTP 头信息,比如 X-Frame-Options、Cache-Control、X-XSS-Protection 等,从而避免了攻击者通过修改请求头来攻击 Web 应用程序的情况。 以上两种方式都可以有效地防御请求头攻击,根据实际情况选择合适的方式进行配置即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值