X-Content-Type-Options и Content-Type Headers, не работающие вместе
В своем веб-приложении я использовал owasp ZED Tool для проверки уязвимости безопасности. Я обнаружил, что заголовки X-Content-Type-Options и Content-Type не установлены.
В моем перекрестном фильтре я добавил заголовки в объект HTTPResponse
@WebFilter("/*")
public class CrossFilter implements Filter {
private static CoreLogger logger=LoggerFactory.getLogger(FirstServlet.class);
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filter) throws IOException,
ServletException {
try{
HttpServletResponse httpServletResponse = (HttpServletResponse ) servletResponse ;
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
httpServletResponse.setHeader("Access-Control-Allow-Headers", "origin, content-type, accept, authorization");
httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");
httpServletResponse.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
httpServletResponse.setHeader("Access-Control-Max-Age", "1209600");
httpServletResponse.setHeader("X-Frame-Options", "SAMEORIGIN");
httpServletResponse.setHeader("X-XSS-Protection", "1; mode=block");
httpServletResponse.setHeader("X-Content-Type-Options", "nosniff");
httpServletResponse.setHeader("Content-Type", "text/plain");
filter.doFilter(servletRequest, servletResponse);
}catch(Exception exc){
logger.info(exc.getMessage());
if(logger.isDebugEnabled()){
logger.error(exc.getMessage(),exc);
}
}
}
Теперь, когда я пытаюсь получить доступ к приложению через браузер, он показывает мне источник HTML . Я думал, что я добавил текст / обычный текст был неправильным, и я пробовал text / html, но ошибка все еще сохраняется.
Может ли кто-нибудь выручить меня, если я поступаю неправильно?