allow urls that are prefixed with # or ? in js/unsafe-external-link

This commit is contained in:
Erik Krogh Kristensen
2020-08-31 16:02:25 +02:00
parent f7edf28d0d
commit f0a0f41c3c
3 changed files with 17 additions and 1 deletions

View File

@@ -29,7 +29,7 @@ predicate hasDynamicHrefHostAttributeValue(DOM::ElementDefinition elem) {
or
exists(string url | url = attr.getStringValue() |
// fixed string with templating
url.regexpMatch(Templating::getDelimiterMatchingRegexp()) and
url.regexpMatch(Templating::getDelimiterMatchingRegexpWithPrefix("[^?#]*")) and
// ... that does not start with a fixed host or a relative path (common formats)
not url.regexpMatch("(?i)((https?:)?//)?[-a-z0-9.]*/.*") and
// ... that is not a mailto: link