Trusted Types 安全浏览 - DOM XSS防护演示
展示如何用默认策略将字符串转换为TrustedHTML,并观察禁止直接赋值的安全限制。
UD5工具箱
浏览器原生 XSS 防护 — 安全清理不可信的 HTML 内容
<script>、<iframe>、事件属性(on*)等危险内容。
调整后将创建新的 Sanitizer 实例。
<script>、<iframe>)、事件处理器属性(如 onclick、onerror)以及 javascript: 协议等,从而有效防御 跨站脚本攻击(XSS)。与第三方库(如 DOMPurify)相比,Sanitizer API 直接在浏览器引擎层面实现,性能更优,且由浏览器厂商持续维护安全策略。
Sanitizer 构造函数和 Element.setHTML() 方法)。Firefox 和 Safari 目前仍在开发中,尚未正式支持。在不支持的浏览器中,建议使用 DOMPurify 等成熟库作为 polyfill,或进行特性检测后给出明确提示。
<script>、<iframe>、<object>、<embed>、<noscript> 等on* 属性(如 onclick、onerror、onload)javascript:、data:(在特定上下文中)Sanitizer 实例时传入配置对象:new Sanitizer({ allowElements: ['div','p','span','a','img'], dropAttributes: { '*': ['on*'] }, allowComments: false })allowElements 指定白名单标签,blockElements/dropElements 指定黑名单,allowAttributes/dropAttributes 控制属性策略。配置非常灵活,能满足不同场景的安全需求。
element.setHTML(html, { sanitizer }) 是 一步到位 的方法:直接解析、清理并设置元素的内部 HTML。适合"清理后立即渲染"的场景。sanitizer.sanitize(html) 返回一个 DocumentFragment,你可以将其插入到任意位置或多个位置,更灵活。另外还有 sanitizer.sanitizeFor('div', html) 返回特定类型的清理后元素。
if (typeof Sanitizer !== 'undefined') { /* 使用原生API */ } else { /* 使用DOMPurify */ }
展示如何用默认策略将字符串转换为TrustedHTML,并观察禁止直接赋值的安全限制。
展示如何通过强制Trusted Types策略阻止将未清理字符串直接赋给innerHTML。
在隔离的模拟环境中输入 SQLi 载荷,展示注入前后 SQL 语句变化,纯粹用于教学。
使用浏览器SubtleCrypto API实现AES-GCM或AES-CBC加密解密,可设密码短语,全前端安全。
提供多组在各色盲类型下仍可区分的定性、连续配色方案,辅助图表设计。
在线XML格式化工具,支持XML缩进美化、语法高亮、树形结构查看及格式验证,完全在浏览器中处理。
填写标题、文本和URL,触发系统级分享菜单,测试Web Share API功能。
可视化CSS box-shadow生成工具,拖拽调整阴影偏移、模糊、扩散、颜色,实时预览并生成代码。
在线JSON格式化与验证工具,支持JSON压缩美化、语法高亮、错误定位,浏览器本地处理保障数据安全。
使用新的 Navigation API 拦截导航、管理历史条目,构建类 SPA 体验。
选择结构类型(Article, Product等),填写字段生成JSON-LD代码,嵌入网页增强搜索结果。
在支持手部追踪的 XR 设备上,展示裸手交互的 VR/AR 体验。
使用范围请求安全地检查密码是否出现在已知数据泄露库中(不发送完整密码)。
在线Flexbox布局可视化生成器,直观调整主轴、交叉轴对齐、换行等属性,实时显示效果并输出CSS。
粘贴 Mustache 模板与数据 JSON,所见即所得地渲染输出,支持节段和反转节段。
在线Base64URL编码与解码,替换+/-为-/_并去除=填充,专为URL和JWT等场景优化。
输入域名,调用开放的WHOIS API获取注册信息,返回可用信息片段(需API兼容)。
搜索附近的蓝牙低功耗(BLE)设备,并显示设备名称和ID,需用户授权。
填写标题、描述、图片等信息,自动生成符合Open Graph协议的HTML meta标签,优化社交平台分享预览。
解析JSON Web Token,显示Header和Payload内容及签名算法,不验证签名,方便开发调试。
将英文标题按所选学术风格自动处理单词的大写小写,规范写作。
随时记录一句话或一张照片,日后随机抽出一张查看,带来惊喜。
粘贴package.json内容,调用公开漏洞API(演示数据)检查依赖安全性,警示高危包。
填入Payload及密钥,选择HS256/RS256算法生成JWT,并验证已签发Token的签名与过期时间。
使用主密码和WebCrypto AES加密存储账号密码,数据仅存本地,需主密码解锁查看。
将非ASCII域名(如中文域名)转换为Punycode格式或还原,理解国际化域名编码机制。
输入 PlantUML 文本,编码为可嵌入图片的 URL 或解码已有的 PlantUML 链接查看源码。
观察目标节点的添加、删除、属性变更,日志可视化展示,调试动态DOM的利器。
解码 JWT 三部分,验证签名(若提供密钥),检查过期时间并高亮,支持修改负载重新生成。
在Canvas上用鼠标涂抹刮开银色涂层,显示隐藏文字或图片,模拟刮刮乐。