vendor/assets/javascripts/bootstrap_pagedown/Markdown.Sanitizer.js in bootstrap_pagedown-1.0.2 vs vendor/assets/javascripts/bootstrap_pagedown/Markdown.Sanitizer.js in bootstrap_pagedown-1.1.0

- old
+ new

@@ -18,21 +18,18 @@ function sanitizeHtml(html) { return html.replace(/<[^>]*>?/gi, sanitizeTag); } // (tags that can be opened/closed) | (tags that stand alone) - var basic_tag_whitelist = /^(<\/?(b|blockquote|code|del|dd|dl|dt|em|h1|h2|h3|i|kbd|li|ol|p|s|sup|sub|strong|strike|ul)>|<(br|hr)\s?\/?>)$/i; + var basic_tag_whitelist = /^(<\/?(b|blockquote|code|del|dd|dl|dt|em|h1|h2|h3|i|kbd|li|ol|p|pre|s|sup|sub|strong|strike|ul)>|<(br|hr)\s?\/?>)$/i; // <a href="url..." optional title>|</a> - var a_white = /^(<a\shref="(https?:(\/\/|\/)|ftp:(\/\/|\/)|mailto:|magnet:)[-A-Za-z0-9+&@#\/%?=~_|!:,.;\(\)]+"(\stitle="[^"<>]+")?\s?>|<\/a>)$/i; + var a_white = /^(<a\shref="((https?|ftp):\/\/|\/)[-A-Za-z0-9+&@#\/%?=~_|!:,.;\(\)]+"(\stitle="[^"<>]+")?\s?>|<\/a>)$/i; // <img src="url..." optional width optional height optional alt optional title var img_white = /^(<img\ssrc="(https?:\/\/|\/)[-A-Za-z0-9+&@#\/%?=~_|!:,.;\(\)]+"(\swidth="\d{1,3}")?(\sheight="\d{1,3}")?(\salt="[^"<>]*")?(\stitle="[^"<>]*")?\s?\/?>)$/i; - // <pre optional class="prettyprint linenums">|</pre> for twitter bootstrap - var pre_white = /^(<pre(\sclass="prettyprint linenums")?>|<\/pre>)$/i; - function sanitizeTag(tag) { - if (tag.match(basic_tag_whitelist) || tag.match(a_white) || tag.match(img_white) || tag.match(pre_white)) + if (tag.match(basic_tag_whitelist) || tag.match(a_white) || tag.match(img_white)) return tag; else return ""; }