This repository was archived by the owner on Jul 15, 2019. It is now read-only.
Open
Conversation
Coverage is also made 100% Statements : 100% ( 113/113 ) Branches : 100% ( 175/175 ) Functions : 100% ( 51/51 ) Lines : 100% ( 112/112 )
Contributor
Author
src/xss-filters.js
Outdated
Contributor
There was a problem hiding this comment.
why only lt etc. is case sensitive? how about other pattern like Lt etc?
Contributor
Author
There was a problem hiding this comment.
According to http://dev.w3.org/html5/html-author/charref, Lt is not a valid charref. Did you find it accepted by any browsers?
those decoding of & < > " are actually security non-critical, as no regexp is trying to match them. they're there only for those who're interested in using the html decoder (i.e., _privFilters.d()).
Contributor
Author
There was a problem hiding this comment.
as per an offline discussion. adding more comments to explain this list.
0fa3f02 to
eeac3db
Compare
eeac3db to
8acc660
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This makes available an advanced config feature to make filter replace NULL. By using
xssFilters._privFilters.config({replaceNull:true}), the five most basic contextual filters, on which all contexts/filters depend, will be replacing the null character with\uFFFDat last.The performance penalty of enabling this is detailed in https://github.com/yahoo/xss-filters/blob/benchmarks/tests/benchmarks/null-replacement.js
An alternative approach is to have a layer of polyfill that patches problematic IE's
document.write()anddocument.writeln(). note thatinnerHTMLhas no such problem.Coverage is also made 100% thru this PR.