Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关闭对全局变量javascript的访问_Javascript_Security_Web Standards - Fatal编程技术网

关闭对全局变量javascript的访问

关闭对全局变量javascript的访问,javascript,security,web-standards,Javascript,Security,Web Standards,我正在编写一个JSAPI,它将被外部客户使用,并由我的客户在他们的web浏览器中执行 由于这可能对我的web用户有害(安全漏洞等),我希望允许或不允许访问文档全局变量和其他变量,如XMLHTTPRequestAPI 我该怎么做 编辑: 我曾考虑在API用户编写的函数的包装器上执行类似于document=null的操作,但它不起作用。此外,使用这种方法很难做到彻底,因为有太多的变通方法和太多的可能性需要考虑所有这些方法。答案很简单:你不能 这可能不是我们想要的答案,但这些全局变量无法修改 你自己试

我正在编写一个JSAPI,它将被外部客户使用,并由我的客户在他们的web浏览器中执行

由于这可能对我的web用户有害(安全漏洞等),我希望允许或不允许访问
文档
全局变量和其他变量,如
XMLHTTPRequest
API

我该怎么做

编辑:
我曾考虑在API用户编写的函数的包装器上执行类似于
document=null
的操作,但它不起作用。此外,使用这种方法很难做到彻底,因为有太多的变通方法和太多的可能性需要考虑所有这些方法。

答案很简单:你不能

这可能不是我们想要的答案,但这些全局变量无法修改

你自己试试看:

window = 1;
console.log(window) // Window {top: Window, window: Window, ...

document = false;
console.log(document) // #document (as in the document object)
document = null;
console.log(document) // #document (same)

window.document = false;
console.log(window.document) // #document
但是,对于
XMLHttpRequest
,这似乎是可能的:

XMLHttpRequest = null
console.log(XMLHttpRequest)        // null
console.log(window.XMLHttpRequest) // null
因此,您可以禁用单个函数


然而,像这样干扰本机功能是一个坏主意,因为它可能会产生意想不到的副作用。例如,jQuery使用
XMLHttpRequest
作为它的ajax函数。

答案很简单:你不能

这可能不是我们想要的答案,但这些全局变量无法修改

你自己试试看:

window = 1;
console.log(window) // Window {top: Window, window: Window, ...

document = false;
console.log(document) // #document (as in the document object)
document = null;
console.log(document) // #document (same)

window.document = false;
console.log(window.document) // #document
但是,对于
XMLHttpRequest
,这似乎是可能的:

XMLHttpRequest = null
console.log(XMLHttpRequest)        // null
console.log(window.XMLHttpRequest) // null
因此,您可以禁用单个函数


然而,像这样干扰本机功能是一个坏主意,因为它可能会产生意想不到的副作用。例如,jQuery使用
XMLHttpRequest
作为它的ajax函数。

答案很简单:你不能

这可能不是我们想要的答案,但这些全局变量无法修改

你自己试试看:

window = 1;
console.log(window) // Window {top: Window, window: Window, ...

document = false;
console.log(document) // #document (as in the document object)
document = null;
console.log(document) // #document (same)

window.document = false;
console.log(window.document) // #document
但是,对于
XMLHttpRequest
,这似乎是可能的:

XMLHttpRequest = null
console.log(XMLHttpRequest)        // null
console.log(window.XMLHttpRequest) // null
因此,您可以禁用单个函数


然而,像这样干扰本机功能是一个坏主意,因为它可能会产生意想不到的副作用。例如,jQuery使用
XMLHttpRequest
作为它的ajax函数。

答案很简单:你不能

这可能不是我们想要的答案,但这些全局变量无法修改

你自己试试看:

window = 1;
console.log(window) // Window {top: Window, window: Window, ...

document = false;
console.log(document) // #document (as in the document object)
document = null;
console.log(document) // #document (same)

window.document = false;
console.log(window.document) // #document
但是,对于
XMLHttpRequest
,这似乎是可能的:

XMLHttpRequest = null
console.log(XMLHttpRequest)        // null
console.log(window.XMLHttpRequest) // null
因此,您可以禁用单个函数

然而,像这样干扰本机功能是一个坏主意,因为它可能会产生意想不到的副作用。例如,jQuery使用
XMLHttpRequest
作为其ajax函数

Caja编译器是一个使第三方HTML、CSS和JavaScript安全地嵌入到您的网站中的工具。它支持嵌入页面和嵌入应用程序之间的丰富交互。Caja使用一个对象能力安全模型来允许一系列灵活的安全策略,因此您的网站可以有效地控制嵌入的第三方代码可以对用户数据做什么


web浏览器的编程语言JavaScript不是安全语言。页面中的任何脚本都可以直接访问页面的所有信息和关系。这使得mashup和脚本广告的使用具有不可接受的风险

ADsafe可以安全地将来宾代码(如第三方脚本广告或小部件)放在网页上。ADsafe定义了JavaScript的一个子集,其功能强大到允许来宾代码执行有价值的交互,同时防止恶意或意外的损坏或入侵。ADsafe子集可以通过JSLint等工具进行机械验证,这样就不需要人为检查来检查来宾代码的安全性。ADsafe子集还实施了良好的编码实践,增加了来宾代码正确运行的可能性

Caja编译器是一个使第三方HTML、CSS和JavaScript安全地嵌入到您的网站中的工具。它支持嵌入页面和嵌入应用程序之间的丰富交互。Caja使用一个对象能力安全模型来允许一系列灵活的安全策略,因此您的网站可以有效地控制嵌入的第三方代码可以对用户数据做什么


web浏览器的编程语言JavaScript不是安全语言。页面中的任何脚本都可以直接访问页面的所有信息和关系。这使得mashup和脚本广告的使用具有不可接受的风险

ADsafe可以安全地将来宾代码(如第三方脚本广告或小部件)放在网页上。ADsafe定义了JavaScript的一个子集,其功能强大到允许来宾代码执行有价值的交互,同时防止恶意或意外的损坏或入侵。ADsafe子集可以通过JSLint等工具进行机械验证,这样就不需要人为检查来检查来宾代码的安全性。ADsafe子集还实施了良好的编码实践,增加了来宾代码正确运行的可能性

Caja编译器是一个使第三方HTML、CSS和JavaScript安全地嵌入到您的网站中的工具。它支持嵌入页面和嵌入应用程序之间的丰富交互。Caja使用一个对象能力安全模型来允许一系列灵活的安全策略,因此您的网站可以有效地控制嵌入的第三方代码可以对用户数据做什么


web浏览器的编程语言JavaScript不是安全语言。页面中的任何脚本都可以直接访问页面的所有信息和关系。这使得mashup和脚本广告的使用具有不可接受的风险

ADsafe可以安全地将来宾代码(如第三方脚本广告或小部件)放在web pag上