Pet*_*zak 8 security http tomcat7
可以将Tomcat 7配置为Content-Security-Policy: frame-ancestors 'self'
在每个响应中插入HTTP标头,例如它可以插入其他安全相关的标头X-Frame-Options
吗?
cas*_*lin 10
使用Tomcat 7.x内置过滤器无法实现后,您可以尝试以下选项之一:
如果向应用程序添加过滤器是一个选项,则可以使用以下代码为每个响应添加标头:
@WebFilter("/*")
public class MyFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Content-Security-Policy", "frame-ancestors 'self'");
chain.doFilter(request, response);
}
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是定制阀门.引用此页面中的步骤:
创建Maven Java应用程序.
添加以下依赖项:
Run Code Online (Sandbox Code Playgroud)<dependency> <groupid>org.apache.tomcat</groupId> <artifactid>tomcat-catalina</artifactId> <version>7.0.34</version> <scope>provided</scope> </dependency>
创建Java类并从中扩展它
ValveBase
.构建你的library(
.jar
)文件在
${tomcat.home}/lib
目录中安装库.配置
server.xml
使用新阀门.例如:Run Code Online (Sandbox Code Playgroud)<valve className="com.example.MyValve"/>
- 启动服务器以查看新阀门的运行情况
您的阀门实施可能如下:
public class MyValve extends ValveBase {
@Override
public void invoke(Request request, Response response) throws IOException,
ServletException {
HttpServletResponse httpResponse = response.getResponse();
httpResponse.setHeader("Content-Security-Policy", "frame-ancestors 'self'");
getNext().invoke(request, response);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11532 次 |
最近记录: |