2026-06-06 Markdown / HTML 输出 XSS 加固
本次对帖子内容渲染和前台用户内容输出做专项 XSS 加固。
主要改动:
- 帖子正文统一安全输出
- 文件:model/post.func.php
- 新增
post_safe_message_html(),对 message_fmt 统一经过 HTML 白名单过滤后输出。
- 文件:view/htm/thread.htm
- 文件:view/htm/post_list.inc.htm
- 帖子详情和回复列表不再直接输出历史
message_fmt。
- HTML 类型发帖加固
- 文件:model/post.func.php
- 非管理员提交
doctype=0 时自动降级为 Markdown 处理。
- 管理员 HTML 内容也改为通过
xn_html_safe() 过滤后入库,避免原始 HTML 直接保存为可执行脚本。
- HTML 白名单收紧
- 文件:model/misc.func.php
- 从允许标签中移除
iframe、embed、area,降低嵌入式内容带来的脚本和外部页面风险。
- 前台模板输出转义补齐
- 文件:view/htm/thread_list.inc.htm
- 文件:view/htm/forum.htm
- 文件:view/htm/index.htm
- 文件:view/htm/header_nav.inc.htm
- 文件:view/htm/post.htm
- 文件:view/htm/inspect.htm
- 对用户名、头像 URL、版块图标、主题标题、摘要、标签、排行榜字段、表单回填值等补充
htmlspecialchars()。
影响说明:
- 普通用户仍可正常使用 Markdown 发帖。
- 历史帖子中的危险 HTML 会在展示时被二次过滤。
- 管理员原始 HTML 发帖能力被收紧,
script、iframe、embed 等不会再作为可执行内容展示。
- 不影响新安装流程,无需数据库结构变更。
欢迎大家加入QQ交流群:785017513