Skip to content

Commit d6271db

Browse files
authored
Merge pull request #2806 from AdamGold/master
feat: 🎸 sanitize HTML in createElement
2 parents f17e926 + a39396a commit d6271db

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

package-lock.json

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
"atob": "^2.1.2",
3333
"btoa": "^1.2.1",
3434
"canvg": "1.5.3",
35+
"dompurify": "^2.0.12",
3536
"es6-promise": "^4.2.8",
3637
"file-saver": "2.0.1",
3738
"html2canvas": "^1.0.0-rc.5",

src/modules/html.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,7 @@
4949
var el = document.createElement(tagName);
5050
if (opt.className) el.className = opt.className;
5151
if (opt.innerHTML) {
52-
el.innerHTML = opt.innerHTML;
53-
var scripts = el.getElementsByTagName("script");
54-
for (var i = scripts.length; i-- > 0; ) {
55-
scripts[i].parentNode.removeChild(scripts[i]);
56-
}
52+
el.innerHTML = DOMPurify.sanitize(opt.innerHTML);
5753
}
5854
for (var key in opt.style) {
5955
el.style[key] = opt.style[key];

src/node.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ global.atob = require("atob");
22
global.btoa = require("btoa");
33
global.canvg = require("canvg");
44
global.GifReader = require("omggif").GifReader;
5+
global.DOMPurify = require("dompurify")

0 commit comments

Comments
 (0)