XSS 为什么属于当前站点?
不可信内容被浏览器当作活动内容执行时,可能在页面所属的权限环境里运行。数据是从服务器返回还是在前端组合,都需要检查。[1]
098 / Web 与应用 / XSS
XSS 跨站脚本 · XSS
同样一段输入,放进正文、属性、链接或富文本,经过的解析规则并不一样。先确定输出位置,再选对处理方式。
恶意角色随留言进入页面,表现不可信内容变成活动代码的风险。图里的饼干是会话隐喻;HttpOnly 也不能消除所有 XSS 后果。
本课任务 / XSS 跨站脚本
亲手探索 / 不同条件,不同结果
检查正文、普通属性、URL 与预期富文本的处理策略。所有样本只作为文字展示,不会插入可执行 HTML;结果是上下文教学判断。
输出位置检查台
为读书会留言选择输出位置与处理策略,检查防护是否匹配业务需要。样本、模板与输出全是不可执行的文字。
尚未运行。先调整条件,再查看本地教学模型的结果。
再试一次:保留事件属性样本,把“只过滤 script”改为安全文本接收点;再选择富文本和净化。最后,把输出位置改为链接地址,看看为什么还需要协议校验。
随手查 / 把理解带回实际工作
实验是简化模型。真实环境需要明确业务规则、验证失败路径,并持续维护配置与证据。
01 / 实用细节
只想显示文字时,使用框架默认的文本渲染或 textContent 等适合的安全写入方式。不要为了方便把字符串送进 HTML 解析入口。[1][2]
02 / 实用细节
固定且合适的普通属性与事件处理属性不是一回事。使用安全的属性名、正确引号和相应处理;不要让用户决定要写入哪个属性。[1]
03 / 实用细节
把引号编码正确不代表链接目标安全。解析并限制允许的协议和目标,根据产品需求排除危险导航;编码并不等于 URL 验证。[1]
04 / 实用细节
当产品确实要允许部分 HTML,选择维护中的净化方案与明确策略。净化后的内容若再被不安全地修改,可能重新引入危险;组件与库需持续更新。[1][2]
05 / 实用细节
动态脚本、事件处理器和其他危险上下文应优先重新设计,不能指望把一种 HTML 编码重复套用,就安全地进入所有解析器。[1]
06 / 实用细节
内容安全策略可限制部分执行路径,但配置缺口与浏览器差异需要验证。它应配合安全输出和净化,不能成为允许任意 HTML 注入的理由。[3]
从模拟,到验证
勾选用于本页自查,不会自动标记整课已学会。练习与清单刷新后重置。
本页已检查 0 / 5 项
小测结果同步错题本;“已学会”沿用原有本地学习记录。
上下文编码、安全入口、富文本净化与危险上下文
HTML 解析入口与注入风险
纵深防御与策略局限
本页场景、人物与数据均为教学示例。互动选择不会上传;收藏、已学会与错题沿用当前浏览器本地存储。来源正文核对日期:2026-10-08。