, похоже, никуда не работает. В настоящее время мы вырезаем все, что может создать проблемы, поскольку, конечно, это должно быть сгенерировано, но теперь это просто статично для целей тестирования.@Component
public class CSPFilter extends OncePerRequestFilter {
@Override
public void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse httpResponse = (HttpServletResponse) response;
SecureRandom random = new SecureRandom();
byte[] nonceBytes = new byte[16];
random.nextBytes(nonceBytes);
String nonce = Base64.getEncoder().encodeToString(nonceBytes);
nonce = "static";
String policy = "default-src 'self'; script-src 'self' 'nonce-" + nonce + "' img-src 'self'; object-src 'none';";
var oldHeader = httpResponse.getHeader("Content-Security-Policy");
if (oldHeader!=null) {
oldHeader = oldHeader + " " + policy;
httpResponse.setHeader("Content-Security-Policy", oldHeader);
}
else
httpResponse.setHeader("Content-Security-Policy", policy);
request.setAttribute("nonce", nonce);
filterChain.doFilter(request, response);
}
}
< /code>
и HTML выглядит так: < /p>
Login to ToDo Roo
function test3(){console.log("this should work")}
function test(){console.log("this shouldn't work")}
< /code>
Тем не менее, во всех браузерах указывается что-то вроде следующего: < /p>
-контент-безопасность-policy: настройки страницы заблокировали обработчик событий
(script-src-attr) от выполнения, потому что она нарушает
nefl-static 'self-’self' self 'self' self 'self' self 'self' self 'self' self ' http: // img-src
'self' ”источник: test () 3
(script-src-elem), потому что он нарушает
следующую директиву: «Script-src 'self' 'nece-static' http: // img-src
self '» < /p>
< /blockquote>
Мы попробовали несколько решений, даже поместив политику содержимого в метаги и загружая сайт путем перетаскивания и падения в браузер. Мы попробовали несколько вариантов политики, таких как «небезопасные» или т. Без.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... and-script