ammonia
ammonia copied to clipboard
'html', 'head' and 'body' tags are stripped out even if these are included in the whitelisted tags
Minimal example:
use maplit::hashset;
let html = "<html><head>head content</head><body><div>test</div></body></html>";
let tags = hashset!["html", "head", "body"];
let mut b = ammonia::Builder::default();
b.add_tags(tags);
let clean_html = b.clean(html).to_string();
println!("{}", clean_html);
Output: head content<div>test</div>
Expectation: <html><head>head content</head><body><div>test</div></body></html>
Am I overlooking some setting?
Same thing for some other tags, like strong
. Any help?
html
, head
, and body
are more-or-less expected. The HTML is parsed as-if it was a div
's innerHTML.
strong
shouldn't do that. Can you open a separate issue with a minimized code example?
html
,head
, andbody
are more-or-less expected. The HTML is parsed as-if it was adiv
's innerHTML.
Does this mean that it is working as designed (I doubt that, due to the "more-or-less") or is there any plan to support such tags?
Imho it could be very useful. Right now passing a full fledged HTML doc to the library for sanitization is basically unsupported, since it would "break" the original doc.