HTTP Security: Difference between revisions
Jump to navigation
Jump to search
(Created page with "==References== {| | valign="top" | * [https://content-security-policy.com/ Content Security Policy Reference] * [https://www.validbot.com/header/Permissions-Policy.html Permis...") |
No edit summary |
||
Line 1: | Line 1: | ||
<source lang="java"> | |||
@Component | |||
@WebFilter(urlPatterns = {"/*"}) | |||
public class ResponseHeaderWebFilter implements Filter { | |||
@Override | |||
public void doFilter( | |||
ServletRequest request, | |||
ServletResponse response, FilterChain chain | |||
) throws IOException, ServletException { | |||
HttpServletResponse httpServletResponse = (HttpServletResponse) response; | |||
httpServletResponse.setHeader("Content-Security-Policy", "default-src 'self' 'unsafe-inline' 'unsafe-eval' data: blob:;"); | |||
httpServletResponse.setHeader("Strict-Transport-Security", "max-age=31536000 ; includeSubDomains ; preload"); | |||
httpServletResponse.setHeader("Permissions-Policy", "geolocation 'self'; payment 'none'"); | |||
httpServletResponse.setHeader("X-Content-Type-Options", "nosniff"); | |||
httpServletResponse.setHeader("Referrer-Policy", "strict-origin-when-cross-origin"); | |||
httpServletResponse.setHeader("X-Frame-Options", "DENY"); | |||
chain.doFilter(request, response); | |||
} | |||
} | |||
</source> | |||
==References== | ==References== | ||
{| | {| |
Revision as of 20:51, 5 February 2024
@Component
@WebFilter(urlPatterns = {"/*"})
public class ResponseHeaderWebFilter implements Filter {
@Override
public void doFilter(
ServletRequest request,
ServletResponse response, FilterChain chain
) throws IOException, ServletException {
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
httpServletResponse.setHeader("Content-Security-Policy", "default-src 'self' 'unsafe-inline' 'unsafe-eval' data: blob:;");
httpServletResponse.setHeader("Strict-Transport-Security", "max-age=31536000 ; includeSubDomains ; preload");
httpServletResponse.setHeader("Permissions-Policy", "geolocation 'self'; payment 'none'");
httpServletResponse.setHeader("X-Content-Type-Options", "nosniff");
httpServletResponse.setHeader("Referrer-Policy", "strict-origin-when-cross-origin");
httpServletResponse.setHeader("X-Frame-Options", "DENY");
chain.doFilter(request, response);
}
}
References
| ||