不能得到简单的ADsafe小部件的工作
Can't get simple ADsafe widget to work
我正在尝试使用Douglas Crockford的ADsafe库。我认为它应该限制可以使用的JavaScript,但它似乎让危险的调用通过,如eval()
。
下面是一个不限制任何内容的沙盒示例:
<html>
<head>
<title>ADsafe Widget Template</title>
</head>
<body>
<script src="adsafe.js"></script>
<div id="WIDGET_">
<script>
ADSAFE.go("WIDGET_", function (dom, lib) {
"use strict";
//
// ADsafe is allowing these to execute!!
//
window.alert("window.alert is working :(");
eval('window.alert("hello from eval")');
window.location = "http://www.google.com";
});
</script>
</div>
</body>
</html>
有人知道ADsafe沙盒应该如何工作吗?
据我所知,ADsafe实际上并没有检查您的代码是否存在这些违规行为。在使用JSLint之前,你应该使用ADsafe选项来解析任何不受信任的JavaScript,并验证没有违反ADsafe。
如果有人说错了,请纠正我。
代码位于div
内部,因此代码在div完全加载之前执行,显然在这种情况下不起作用。将脚本移出div
工作后:http://jsfiddle.net/pimvdb/dFQQa/.
<html>
<head>
<title>ADsafe Widget Template</title>
</head>
<body>
<script src="adsafe.js"></script>
<div id="WIDGET_"></div>
<!-- div has been ended and fully loadede by now -->
<script>
ADSAFE.go("WIDGET_", function (dom, lib) {
"use strict";
//
// ADsafe is allowing these to execute!!
//
window.alert("window alert is working :(");
eval('window.alert("hello from eval")');
window.location = "http://www.google.com";
});
</script>
</body>
</html>
相关文章:
- 解决小问题(工作不顺利)
- CKEditor:以小部件作为第一个元素,选择所有在Chrome中不工作的
- jQuery - 数字格式的小片段无法按预期工作
- 引导 - 链接停止以小分辨率工作
- 给朋友留下深刻印象的小代码是 int 工作
- 角度最小和最大时间不工作
- 如何使谷歌免费小部件与https一起工作
- 为什么获胜'我的KML文件(3MB)是否显示在谷歌地图上?但对于小的kml文件(如250kb)工作良好
- Highmaps最小/最大颜色未按预期工作
- Twitter小部件在一个未托管的网站上从工作变成了不工作
- Javascript小部件无法在Sharepoint web部件中工作
- 使HTML_PARSER在小部件DataTable中工作
- 小时数是't正在秒表上工作
- 我如何添加一个在不同域工作的网络小部件的facebook登录名
- 我有一个JQuery工作,但小越野车
- 在开始一个将循环自身的函数之前延迟6秒,小,不工作,为什么
- Javascript中具有最小值和最大值的随机生成器不工作
- jQuery UI autocomplete $.小部件不工作
- JavaScript到Java小程序-工作
- 使这个用于jQuery-plugin的小部件工作