Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate url classifier #126

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Integrate url classifier #126

wants to merge 10 commits into from

Conversation

mikesamuel
Copy link
Contributor

Integrated URL classifiers from github/OWASP/url-classifier
to make it easier to vet URLs without resorting to error-prone
regexs.

This is experimental.

This change deprecates the old way of white-listing protocols
in the scope of the whole sanitizer and makes available an
AttributePolicyBuilder match method that takes a classifier
so it is easy to scope a URL policy to a particular attribute.

Converting an attribute value to a UrlValue requires a UrlContext.
A UrlContext can encapsulate the base URL of the embedding document,
so should not be scoped to a policy, but rather to a sanitize call.
Therading the context through to Attribute and Element policies
requires an API change to {Attribute,Element}Policy.
This change deprecates those in favor of {Attribute,Element}Policy.V2
which are subinterfaces that take an extra Context object.

to make it easier to vet URLs without resorting to error-prone
regexs.

This is experimental.

This change deprecates the old way of white-listing protocols
in the scope of the whole sanitizer and makes available an
AttributePolicyBuilder match method that takes a classifier
so it is easy to scope a URL policy to a particular attribute.

Converting an attribute value to a UrlValue requires a UrlContext.
A UrlContext can encapsulate the base URL of the embedding document,
so should not be scoped to a policy, but rather to a sanitize call.
Therading the context through to Attribute and Element policies
requires an API change to {Attribute,Element}Policy.
This change deprecates those in favor of {Attribute,Element}Policy.V2
which are subinterfaces that take an extra Context object.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant