问题是:如果某些脚本删除了以前加载或包含的脚本,那么异步加载 webapps 会发生什么?
让我们包含几个脚本:
<script src="Squel.js" async="" type="text/javascript"></script>
<script src="PSquel.js" async="" type="text/javascript"></script>
<script src="MySquel.js" async="" type="text/javascript"></script>
不管是通过标记包含还是通过requireJS动态包含,异步脚本包含的顺序都是一样的。
MySquel.js 文件的内容可能是这个恶意代码:
document.getElementsByTagName('script').forEach(function(val,i,arr){
if(/PSquel/.test(val.src)){
val.parentNode.removeChild(val);
}
}
当然,这个问题是特定于浏览器的,我感兴趣的是,是否有任何怪癖会在任何特定浏览器中打开内存漏洞。我也对你知道的任何边缘情况感兴趣!
我非常感谢您在您所知道的关于可能不安全的脚本加载的任何边缘情况下的回应!谢谢。