ChristopherSchultz commented on code in PR #681: URL: https://github.com/apache/tomcat/pull/681#discussion_r1431618064
########## java/org/apache/catalina/filters/CsrfPreventionFilter.java: ########## @@ -53,6 +58,25 @@ public class CsrfPreventionFilter extends CsrfPreventionFilterBase { private String nonceRequestParameterName = Constants.CSRF_NONCE_REQUEST_PARAM; + private boolean enforce = true; + + private Collection<Predicate<String>> noNoncePatterns = DEFAULT_NO_NONCE_URL_PATTERNS; + + private static final Collection<Predicate<String>> DEFAULT_NO_NONCE_URL_PATTERNS; + + static { + ArrayList<Predicate<String>> defaultNoNonceURLPatterns = new ArrayList<>(); + + defaultNoNonceURLPatterns.add(new SuffixPredicate(".css")); + defaultNoNonceURLPatterns.add(new SuffixPredicate(".js")); + defaultNoNonceURLPatterns.add(new SuffixPredicate(".gif")); + defaultNoNonceURLPatterns.add(new SuffixPredicate(".png")); + defaultNoNonceURLPatterns.add(new SuffixPredicate(".jpg")); + defaultNoNonceURLPatterns.add(new SuffixPredicate(".svg")); + + DEFAULT_NO_NONCE_URL_PATTERNS = Collections.unmodifiableList(defaultNoNonceURLPatterns); Review Comment: > Might this be better handled by looking at content type rather than file extension? All we have to go on is the path of the file, so I don't think we can check the content-type. Remember, this is primarily being used inside of `CsrfResponseWrapper.encodeURL(String)` where we know nothing about the file other than the path. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org