这十二行代码是如何让浏览器爆炸的?

2016-01-20 23:44:22 +08:00
 HypoChen

http://www.freebuf.com/articles/terminal/93807.html

谁来解释下原理,不是很明白 23333

11528 次点击
所在节点    JavaScript
66 条回复
qgy18
2016-01-21 09:09:31 +08:00
@shakoon 是因为多核么?
asdwfwqd
2016-01-21 09:24:50 +08:00
破 Windows xp 里面的 ie 浏览器居然没事
maskerTUI
2016-01-21 09:28:02 +08:00
cpu 一直 70%多,内存从开机的 1g 一直慢慢升到 5.78g ( 99%),然后就升不上去了,没有蓝屏没有重启。
hronro
2016-01-21 09:37:15 +08:00
@asdwfwqd 因为 IE 不支持 pushstate
quericy
2016-01-21 09:39:28 +08:00
Edge 毫无鸭梨

ariesjia
2016-01-21 09:42:24 +08:00
@wjself pushstate 只是操作 url ,并没有加载页面。 能解析的更详细一点么,还是没有懂为啥会崩溃
elvba
2016-01-21 09:44:51 +08:00
没压力……
ooo3o
2016-01-21 10:07:56 +08:00
IE 对这个免疫的. 谷歌垃圾.
Jeremial
2016-01-21 10:10:10 +08:00
@shakoon 因为有几核, 最大就是百分之几百
komiles
2016-01-21 10:10:46 +08:00
demo :(温馨提示:请保存浏览器其它窗口的编辑任务)
www.0xroot.cn/demo.html (点击一下,又不会怀孕!)
jun0205
2016-01-21 10:16:07 +08:00
CPU 占了 14% 左右,内存一路飙升,直到占满 32G , Chrome 一直是卡死状态
xiaodongus
2016-01-21 10:55:52 +08:00
![]( )
看着好给力
chuhemiao
2016-01-21 11:58:26 +08:00
好奇心害死了多少猫
breeswish
2016-01-21 12:03:12 +08:00
这三行代码是如何让你程序爆炸的?

while(true) {
malloc(1024);
}
wjself
2016-01-21 12:08:59 +08:00
@ariesjia 操作一次貌似是會請求一次的,不過就是不載入而已 況且你看下這串字符串有多大……
t="";for (var i=0;i<1000000;i++){t+=i.toString()}document.write(t);
FrankFang128
2016-01-21 12:10:08 +08:00
这种网站无法传播呀,差评
aivier
2016-01-21 12:32:35 +08:00
哪个语言这样写不爆炸...

上次手误这样写了一段 C#,无限调用没释放,第一次见到 堆栈溢出 错误..
Bingbing
2016-01-21 12:39:19 +08:00
为什么 点一下浏览器爆炸,然后把代码拷贝出来放到本地,再打开 HTML 浏览器却没有影响
shyling
2016-01-21 13:00:33 +08:00
pushState 会添加浏览器的 History 栈?
nisekoi
2016-01-21 13:14:52 +08:00
edge 大法好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/252239

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX