diff --git a/app/backend/src/lib/sanitize.ts b/app/backend/src/lib/sanitize.ts new file mode 100644 index 0000000..fdb3765 --- /dev/null +++ b/app/backend/src/lib/sanitize.ts @@ -0,0 +1,18 @@ +import sanitizeHtml from 'sanitize-html'; + +const COMMENT_OPTIONS: sanitizeHtml.IOptions = { + allowedTags: ['b', 'i', 'em', 'strong', 'a', 'code', 'br'], + allowedAttributes: { + a: ['href', 'title'], + }, + allowedSchemes: ['https'], + disallowedTagsMode: 'discard', +}; + +export function sanitizeComment(input: string): string { + return sanitizeHtml(input, COMMENT_OPTIONS); +} + +export function stripHtml(input: string): string { + return sanitizeHtml(input, { allowedTags: [], allowedAttributes: {} }); +}