海外访问:www.kdjingpai.com
Ctrl + D 收藏本站
当前位置:首页 » AI答疑

如何防止未经验证的Markdown内容导致XSS安全风险?

2025-08-28 28

Streamdown基于harden-react-markdown构建,通过以下多层防护确保渲染安全:

  • 默认HTML过滤:自动转义原生HTML标签,防止script标签等危险内容执行
  • 属性白名单:对于允许的HTML元素(如a标签),仅保留href、title等安全属性
  • 链接验证:自动为所有外部链接添加rel=’noopener noreferrer’防止钓鱼攻击

高级安全配置:

  1. 通过components参数重写渲染器,强制所有链接添加target=’_blank’:
    components={{ a: ({href, children}) => <a href={href} target=’_blank’ rel=’noreferrer’>{children}</a> }}
  2. 使用remark-plugins添加内容过滤(如移除图片标签):
    import { remark } from ‘remark’
    import filter from ‘remark-html-filter’
    remark().use(filter, {allowedTags: [‘p’, ‘code’]})
  3. 对用户输入内容预先进行DOMPurify处理

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文