Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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 附上';沙箱';属性来动态创建iframe以停止重定向_Javascript_Jquery_Iframe_Google Dfp - Fatal编程技术网

Javascript 附上';沙箱';属性来动态创建iframe以停止重定向

Javascript 附上';沙箱';属性来动态创建iframe以停止重定向,javascript,jquery,iframe,google-dfp,Javascript,Jquery,Iframe,Google Dfp,我们使用谷歌DFP在我们的网站上提供来自许多不同广告网络的广告。问题是,骗子们已经能够以某种方式创建广告,自动将用户从我们的网站重定向出去 我想找到一种方法来阻止重定向成为可能,因为广告网络似乎没有解决这个问题。他们只需在找到广告后将其删除,然后就会出现另一个广告。我提出的一个解决方案是在Google的iframe中添加“沙盒”属性。从我的测试来看,这似乎是可行的 示例: <iframe id="testframe" src="/test.htm"></iframe> &

我们使用谷歌DFP在我们的网站上提供来自许多不同广告网络的广告。问题是,骗子们已经能够以某种方式创建广告,自动将用户从我们的网站重定向出去

我想找到一种方法来阻止重定向成为可能,因为广告网络似乎没有解决这个问题。他们只需在找到广告后将其删除,然后就会出现另一个广告。我提出的一个解决方案是在Google的iframe中添加“沙盒”属性。从我的测试来看,这似乎是可行的

示例:

<iframe id="testframe" src="/test.htm"></iframe>
<script>
  $('#testframe')[0].sandbox="allow-scripts";
</script>

$('#testframe')[0].sandbox=“允许脚本”;
/test.htm

<script>
  top.location.href = "http://yahoo.com";
  alert('javascript still works but no redirect!');
</script>

top.location.href=”http://yahoo.com";
警报('javascript仍然有效,但没有重定向!');
问题是尽管DFP标记是基于javascript的,所以我不知道如何将“sandbox”属性附加到动态创建的iframe。如何在创建iframe时但在加载之前添加此属性?或者你有没有其他的解决方案来阻止广告的重定向

DFP标签示例

<div id='dfp-ad-ad_name'>
<script type='text/javascript'> 
googletag.cmd.push(function() { googletag.display('dfp-ad-ad_name'); }); 
</script> 
</div>

googletag.cmd.push(函数(){googletag.display('dfp-ad-ad_name');});
根据,您应该能够通过指定

setSafeFrameConfig({sandbox: true})
可以在单个插槽级别或全局页面级别上使用

不确定这是否能有效防止恶意横幅重定向浏览器,但可能值得一试