Trusted Types API

news/2024/10/16 4:29:31

Trusted Types API: 锁定 DOM API 的不安全部分,以防止客户端跨站脚本(XSS)攻击


  • untrusted

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Trusted Types API</title></head><body><strong>Trusted Types API</strong><hr /><div class="content"></div><script>const content = document.querySelector('.content');const strHTML = `<div><p>This is a trusted string.</p><img src="https://via.placeholder.com/350x150" alt="placeholder image" /></div>`;content.innerHTML = strHTML;</script></body>
</html>

  • trusted

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Trusted Types API</title></head><body><strong>Trusted Types API</strong><hr /><div class="content"></div><script>const content = document.querySelector('.content');const strHTML = `<div><p>This is a trusted string.</p><img src="https://via.placeholder.com/350x150" alt="placeholder image" /></div>`;const entityMap = {'&': '&amp;','<': '&lt;','>': '&gt;','"': '&quot;',"'": '&#39;','/': '&#x2F;',};const escapedStrHTML = trustedTypes.createPolicy('myPolicy', {createHTML: (input) => input.replace(/[&<>"'\/]/g, (char) => entityMap[char]),});const trustedHTML = escapedStrHTML.createHTML(strHTML);content.innerHTML = trustedHTML;</script></body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/26380.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【MMD x EEVEE教程】工具篇 • blender设置

这篇教程适合有一定基础的萌新....*& blender下载官方网址https://www.blender.org/官方blender,都是最新版,如果需要找旧版的blender可以到这里来https://download.blender.org/release/ ,里边包好了所有版本的blender,因为是做MMD,下载自己需要版本后,建议额外下载…

ojdbc6jar包手动解压导入本地仓库

报错 Cannot resolve com.oracle:ojdbc6:11.2.0.1.0 <!--oracle驱动--> <dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.1.0</version> </dependency>解决方式: 手动导入 …

瑞芯微-I2S | ALSA基础-3

针对音频设备,linux内核中包含了两类音频设备驱动框架;OSS:开放声音系统 包含dsp和mixer字符设备接口,应用访问底层硬件是直接通过sound设备节点实现的;ALSA:先进linux声音架构(Advanced Linux Sound Archiecture) 以card和组件(PCM、mixer等)为组件,应用是通过ALSA…

赏猎技巧之burp

高并发 Race conditions 竞态条件 理论 https://portswigger.net/web-security/race-conditions 操作 https://portswigger.net/burp/documentation/desktop/tools/repeater/send-group#sending-requests-in-parallelHTTP/1 keep-alive 不能开主要在于胡扯烂造,大家就当相声看…

8086 汇编学习 Part 5

流程转移 背景 一般情况下指令是顺序地逐条执行的,而在实际中,常需要改变程序的执行流程。 转移指令可以控制 CPU 执行内存中某处代码的指令。 可以修改 IP ,或同时修改 CS 和 IP 的指令。分类 按转移行为分类段内转移 : 只修改 IP (例如 JMP AX) 段间转移 : 同时修改 C…

群晖内网穿透+域名访问+PLEX APP直接访问

本文主要记录自身PLEX通过APP访问的记录,也算是一个教程。 另感谢各教程贡献者,详见参考。 本教程重点在内网穿透的域名访问内网资源。适用人员 针对无公网IP,同时PLEX安装在群晖或其它NAS上的,希望在外网使用pelx 应用访问家中资源的人(其它系统也类似,原理相同) 前期准…

用蒙特卡罗方法求p

实验任务: 基于蒙特卡罗思想用MPI程序实现对p值的并行求解 实验目的: 掌握蒙特卡罗算法并行化的实现方法 实现方法: 根据蒙特卡罗方法的思想,我们以坐标原点为圆心作一个直径为1的单位圆,再作一个正方形与圆相切,在这个正方形内随机产生count点,判断是否落在国内,将落在…

Vue入门到关门之计算属性与监听属性

一、计算属性 1、什么是计算属性 计算属性是基于其它属性计算得出的属性,就像Python中的property,可以把方法/函数伪装成属性,在模板中可以像普通属性一样使用,但它们是基于响应式依赖进行缓存的。这意味着只有在依赖的响应式数据发生改变时,计算属性才会重新计算,否则会…