epi*_*ziv 9 java security spring tomcat hsts
相信你们.
我的Web应用程序在tomcat 6.0.43上运行,并且不在前面使用apache或nginx.
我已经通过http重定向强制我的网站使用:
<% response.sendRedirect("https://www.epi.com.my/portal/"); %>
Run Code Online (Sandbox Code Playgroud)<security-constraint> <web-resource-collection> <web-resource-name>Protected Context</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint></security-constraint>
在哪里添加此类代码
标题添加Strict-Transport-Security"max-age = 15768000"
或者tomcat没有这个功能吗?或者我需要修改我的每个Java Web应用程序控制器.
小智 21
如果您能够使用Tomcat 7或8,则可以激活内置的HSTS过滤器.取消注释httpHeaderSecurity过滤器定义tomcat/conf/web.xml
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<async-supported>true</async-supported>
</filter>
Run Code Online (Sandbox Code Playgroud)
并添加一个有用的最大年龄参数:
<init-param>
<param-name>hstsMaxAgeSeconds</param-name>
<param-value>31536000</param-value>
</init-param>
Run Code Online (Sandbox Code Playgroud)
不要忘记取消注释过滤器映射:
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
小智 11
您可以使用过滤器添加它.将以下代码段添加到web.xml:
<filter>
<filter-name>HSTSFilter</filter-name>
<filter-class>security.HSTSFilter</filter-class>
</filter>
Run Code Online (Sandbox Code Playgroud)
然后在您的webapp中创建一个过滤器:
package security;
import java.io.IOException;
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;
public class HSTSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse) res;
if (req.isSecure())
resp.setHeader("Strict-Transport-Security", "max-age=31622400; includeSubDomains");
chain.doFilter(req, resp);
}
}
Run Code Online (Sandbox Code Playgroud)
也可以使用全局web.xml(conf/web.xml)添加过滤器.
| 归档时间: |
|
| 查看次数: |
24200 次 |
| 最近记录: |