JavaScript语言参考手册      
JavaScript手册
【目录】 【上一页】 【下一页】 【索引】

untaint

从数据元素或脚本中移除污点。

核心函数
实现版本 Navigator 3.0; 在 Navigator 4.0 中已移除

语法

untaint(dataElementName)

参数

dataElementName (可选) 要移除污点的属性、变量、函数或对象。如果缺省的话,将从脚本自身移除污点。

描述

污点将避免其它脚本传递安全和私有的信息,例如目录结构或用户的浏览历史。JavaScript 不能在没有最终用户许可的情况下向任何服务器传送带有污点的值。

使用 untaint 可以清除为了禁止其它脚本向不同的服务器发送的数据而标记的污点。

脚本只能去除其自身中含有的数据A script can untaint only data that originated in that script (that is, only data that has the script's taint code or has the identity (null) taint code). 如果你在使用 untaint 时带有其它服务器脚本的数据元素(或任何你不能去除污点的任何数据),untaint 将返回没有更改的数据或者错误。

在某些情况下,控制流包含了污点信息而不是数据流。在这些情况下,污点将被添加到脚本窗口中。你可以调用不带参数的 untaint 去除脚本窗口的污点,但窗口必须只包含当前窗口的污点。

untaint 并不修改其参数,而返回值的未标记副本,或者对象值的未标记引用。

示例

下面的语句将去除属性的污点,这样脚本就可以将其向其它服务器中发送了:

untaintedStatus=untaint(window.defaultStatus)
// untaintedStatus 现在可以在 URL 或由其它脚本提交的表单中发送了

参看

navigator.taintEnabled, taint


【目录】 【上一页】 【下一页】 【索引】

返回页面顶部

JavaScript中文手册 站长在线 整理