第四章 安全 Security
第四章 安全 Security
4.1 资源限制 Resource Restrictions
WebGL的资源如纹理(textures)和VBO(vertex buffer objects)对象必须总是包括了初始值,即使用户没有创建它们没有指定任何值.创建一个没有初始数据的资源通常用来给纹理和VBO对象保留一块空间,这块内存空间随后可以通过调用texSubImage或bufferSubData方法进行修改.如果调用这些方法时没有指定初始值,则WebGL实现时应该当将它们设置为0.深度缓冲(depth renderbuffer)必须清空成默认值1.0,例如,这可能要求创建一块值为0,大小与请求的VBO对象相等的内存区域,这样它就可以正常初始化了.基于同样的道理,所有其它类型的数据,不论是arrayBuffers还是DOM对象如images,要加载到纹理或VBO对象里,都要求初始化(All other forms of loading data into a texture or VBO involve either ArrayBuffers or DOM objects such as images, and are therefore already required to be initialized).
当通过调用shaders的drawElement或drawArrays方法得到WebGL资源时,WebGL实现需保证shaders没有越界或未初始化,点击这里Enabled Vertex Attributes and Range Checking查看那些限制必须被webGL实现.
4.2 来源限制 Origin Restrictions
为了阻止(隐私)信息泄漏,HTML5包含了一个origin-clean标志(See HTML5, section 4.8.11.3, "Security with canvas elements".)
针对webGL设备对象,这个标志在以下几种情况下必须设置为false:
1,当HTMLImageElement或HTMLVideoElement对象的来源与包含html canvas对象的页面的来源不同时,在这两个对象上调用txtImage2D方法时
2,当HTMLCanvasElement的origin-clean标志为false,在其对象上调用texImage2D方法时
当canvas中2D context对象的origin-clean标志设置为false时,无论任何时候调用readPixels方法,哪怕使用正确的其它参数,都应该抛出一个
SECURITY_ERR
异常
4.3 支持GLSL构造 Supported GLSL Constructs
webGL的shader实现必须遵守OpenGL ES Shading Language规范,并且不允许扩展在第四节,第五节附录A中要求的minimum functionality.特别强调,一个引用了(OpenGL)状态变量的shader或者那些在其它版本的GLSL中已经在用的函数(比如在桌面OpenGL中发现的那些函数)必须被禁止加载
除了之前规范中保留的那些标识符外,新增以"webgl_"和"_webgl_"开关的关键字保留供webGL用.以这两个为前缀的命名的函数,变量,结构名字,或者结构字段名字的shader必须被禁止加载
4.4 Defense Against Denial of Services 拒绝服务防护
4.5 Out-of-Range Array Accesses 数组越界访问
Shaders必须禁止对在数组界外的对象的读写操作,
------------------------------------------
除非特别声明,文章均为原创,版权与博客园共有,转载请保留出处
BUY ME COFFEE


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2009-08-02 EXT学习笔记之一 accordion布局