Przyczyną incydentu jest to, że zagraniczny znajomy z Cyber Security opublikował na Twitterze taki tweet:
Ten facet twierdzi, że jeśli użyjesz powyższego 12-linijkowego kodu Javascrip{filter}t, możesz zawiesić Firefox, Chrome, przeglądarki Safari, a także spowodować restart iPhone'a i awarię telefonu z Androidem!
Pełny kod HTML przedstawia się następująco:
Jeśli jesteś użytkownikiem PC, po kliknięciu w link pamięć CPU komputera bardzo prawdopodobnie wzrośnie aż do momentu, gdy przeglądarka się zawiesi i zawiesza...
Jeśli jesteś użytkownikiem telefonu komórkowego (Android, iPhone), przeglądarka zawiesi się po kliknięciu w link! Kliknięcie w link na Weibo i WeChat również powoduje awarię.
Dlaczego tak się dzieje? W tym kontekście znalazłem odpowiedź od boga o imieniu "Xiaomi" na Zhihu:
history.pushstate() to API wprowadzone przez HTML5, pushState dodaje określony adres URL do historii przeglądania i przechowuje aktualny punkt historii. Gdy i<100000, suma będzie rejestrowana w historii przeglądarki w sposób cykliczny, a jeśli będzie powtarzana zbyt często, przeglądarka nie będzie w stanie tego znieść i naturalnie się zawiesi.
W każdym razie, nawet nie potrafię wymyślić "hello world", więc w ogóle tego nie rozumiem... Krótko mówiąc, to w sam raz, by wysadzić niebo!
Jeśli chcesz spróbować, kliknij tutaj: http://www.itsvse.com/demo.html
|