Files
harheimertc/composables/useSanitizeHtml.js
2025-12-20 10:49:20 +01:00

27 lines
766 B
JavaScript

import DOMPurify from 'dompurify'
/**
* Sanitizes HTML content to prevent XSS attacks
* @param {string} html - The HTML content to sanitize
* @returns {string} - The sanitized HTML
*/
export function useSanitizeHtml(html) {
if (!html || typeof html !== 'string') {
return ''
}
// DOMPurify sanitizes HTML and removes dangerous content
return DOMPurify.sanitize(html, {
ALLOWED_TAGS: [
'p', 'br', 'strong', 'em', 'u', 's', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
'ul', 'ol', 'li', 'a', 'img', 'blockquote', 'code', 'pre', 'span', 'div',
'table', 'thead', 'tbody', 'tr', 'th', 'td'
],
ALLOWED_ATTR: [
'href', 'src', 'alt', 'title', 'class', 'id', 'width', 'height', 'style'
],
ALLOW_DATA_ATTR: false
})
}