| <!doctype html> | |
| <html> | |
| <head> | |
| <script src="../dist/purify.js"></script> | |
| </head> | |
| <body> | |
| <!-- Our DIV to receive content --> | |
| <div id="sanitized"></div> | |
| <!-- Now let's sanitize that content --> | |
| <script> | |
| 'use strict'; | |
| // Assuming DOMPurify is globally available | |
| // import DOMPurify from 'dompurify'; // Uncomment if using ES6 modules | |
| // Specify dirty HTML | |
| const dirty = '<p>HELLO<iframe/\/src=JavScript:alert(1)></ifrAMe><br>goodbye</p>'; | |
| // Add a hook to convert all text to capitals | |
| DOMPurify.addHook('beforeSanitizeAttributes', node => { | |
| // Set text node content to uppercase | |
| if (node.nodeName && node.nodeName === '#text') { | |
| node.textContent = node.textContent.toUpperCase(); | |
| } | |
| }); | |
| // Clean HTML string and write into our DIV | |
| const clean = DOMPurify.sanitize(dirty); | |
| document.getElementById('sanitized').innerHTML = clean; | |
| </script> | |
| </body> | |
| </html> |