xss库过滤后内容显示异常怎么办?
我用 xss 库对用户输入做了过滤,但有些正常内容也被转义了,比如 <div> 这种标签直接显示成文本了,不是渲染成 HTML。是不是我用法不对?
我是这样用的:
import { sanitize } from 'xss';
const cleanHtml = sanitize(userInput);
document.getElementById('preview').innerHTML = cleanHtml;
结果页面上直接显示 “<div>内容</div>”,而不是渲染出 div 元素。我只想防 XSS,不想把合法标签全干掉啊……
这样
另外提醒下,前端过滤只是最后一道防线,后端也必须做校验,不然就是裸奔。