zoukankan      html  css  js  c++  java
  • 这12行代码分分钟让你电脑崩溃手机重启

    事情的起因是这样的,国外一哥们Cyber Security在推特上发了这么一条推文:

    高能!这12行代码分分钟让你的电脑崩溃手机重启
    神秘的12行代码

    这哥们声称,如果你使用上述这段12行的JavaScript代码,就可以能让firefox、chrome、safari浏览器崩溃,而且还能让iphone重启,安卓手机闪退!

    网友们起初并不相信,于是继续在推特上深挖,发现另一小哥IT Security Tweets也发过类似的推文:

    高能!这12行代码分分钟让你的电脑崩溃手机重启

    依旧是这段代码

    完整HTML代码如下:

    <html>

    <body>

    <script>

    var total="";

    for (var i=0;i<1000000;i++)

    {

    total= total+i.toString();

    history.pushState(0,0,total);

    }

    </script>

    </body>

    </html>

    注意:前方高能!!

    注意:前方高能!!

    注意:前方高能!!

    如果光用说的你可能不信

    所以再此附上demo 感(shou)兴(jian)趣的可以试试:

    http://www.0xroot.cn/demo.html(注意:请保存浏览器正在运行的编辑内容或任务!) 

    如果你是PC端用户,点开链接以后,电脑CPU内存极有可能一路狂飙直至浏览器崩溃卡死...

    如果你是移动端(安卓、iPhone)用户,点开链接以后你的浏览器会闪退!在微博、微信点开链接也同样会闪退。

    为什么会发生此现象呢?对此我在知乎上找到了一位名为“小米”的大神解答:

    history.pushstate()是HTML5引入的API,pushState将指定的URL添加到浏览器历史里,存储当前历史记录点。 当 i<100000 的时候会循环的将 total记录到浏览器历史里面,重复多了,浏览器就承受不住了,自然就崩了。

  • 相关阅读:
    16.5 函数对象
    16.4.7 无序关联容器(C++11)
    16.4.6 关联容器
    16.4.5 容器种类(外1:7种序列容器类型)
    16.4.5 容器种类(下:序列)
    # SpringBoot + Spring AMQP 整合 RabbitMQ
    RabbitMQ 消息模型
    RabbitMQ Docker 单机与集群部署
    RabbitMQ 核心概念入门
    MQ消息中间件 + JMS + AMQP 理论知识
  • 原文地址:https://www.cnblogs.com/sunbeidan/p/5151101.html
Copyright © 2011-2022 走看看