神秘的12行代碼
這哥們聲稱,如果你使用上述這段12行的JavaScript代碼,就可以能讓firefox、chrome、safari瀏覽器崩潰,而且還能讓iphone重啟,安卓手機閃退!
網友們起初并不相信,于是繼續在推特上深挖,發現另一小哥IT Security Tweets也發過類似的推文:
依舊是這段代碼
完整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記錄到瀏覽器歷史里面,重復多了,瀏覽器就承受不住了,自然就崩了。
好吧,反正對于連“hello world”都不會編的我,是一點也看不明白...總之牛氣炫酷吊炸天就對了!
你的電腦或手機運行遇到麻煩時,最常見的解決辦法就是:重啟。
要理解“reboot”的意思,首先要理解對計算機而言“boot”意味著什么。“reboot”一詞來源于這樣的一個表述:通過引導程序來重新振作。我沒有完全理解這句話的意思,但很明顯像是通過自己的努力來提升自己。
在計算機中,唯一一個構建在計算機硬件上的程序稱為”引導安裝程序 “。當啟動電腦時,這個程序負責控制和加載或者引導別的程序正常啟動,這個程序就是我們通常所說的操作系統。我們目前的操作系統有安卓、Windows、Unix、Mac OS。
操作系統對你電腦的作用,就如同你父母在你剛出生的前五年所起的作用。它負責資源的分配,指令的存儲,控制別的程序能做什么,不能做什么。
然而,有時操作系統也會處于這樣一種尷尬狀態:在你家門鈴響了的時候,這時你家洗衣機突然漏水了,寵物兔子也突然逃跑出來了。
如果我們一次給予計算機太多的任務去執行,或許一些情況是在程序員編寫程序沒有考慮到,然后任務很可能被“困“在內存中。計算機科學家通常所說的”僵局”就是這樣一種能情況:任務 A 在等待任務 B 去完成,而任務 B 也在等待任務 A 去完成,這樣就造成兩個任務同時被困住。
另外,當執行任務時,如果從計算機內存獲取和使用資源超時,這些資源就容易變得碎片化并且難以管理,就像要在一個混亂的臥室里找到一樣東西一樣困難。重新啟動電腦也可能暫時解決由硬件造成的問題,但是電腦的各部件開始發熱時,硬件可能會變得不那么可靠。
目前的操作系統都很擅長于找到問題并給予解決,但要保持內部整潔卻不那么容易。有時候,只有通過重新啟動操作系統,才能使系統保持潔凈的狀態。
作為一名計算機科學家,我一直在尋找解決問題的最簡單方法,在尋找為什么計算機運行如此緩慢的更加復雜的原因之前,重啟是一個好的選擇。
重啟就解決所有問題了?
重啟分為兩類,“冷重啟”和“熱重啟”。“冷重啟”就是先關機再開機,而”熱重啟”是直接重新加載操作系統。有時“熱重啟”將解決你的問題,然而有時候你的電腦將會對外界無響應,這時候你可能需要關掉電源。
然而重啟不能解決所有問題,比如惡意的病毒軟件。病毒程序通常自己植入引導程序以控制下次開機的時間,唯一清除這些可怕”侵略者“的方法就是掃描你的系統,找到并清除它們。
根據我的經驗來看,重啟的需要正在逐漸減少。這些天我發現我不得不重啟的主要原因是電腦系統準備安裝更新。當操作系統在運行時,要更新它自己的某些部分是很困難的,這一點很像要修理一架飛行中的飛機一樣困難。
一些系統是不能重新啟動的,比如航空運輸系統和控制核反應堆的程序。
這些系統的一個優點是僅僅運行一些特定的程序,而不像在我們桌子上和我們口袋里那些通用設備。需要重啟需要花費一些時間,對我而言,有這樣一個強大而靈巧的設備是很必要的。
作者:羅布·麥樂斯,英國赫爾大學計算機系講師
Fan曾在《不用羨慕華為小米!任意Android手機都能和PC無線投屏 》一文中介紹了通過“QTscrcpy”軟件在電腦端控制手機的方法。不過,QTscrcpy在操作上有些復雜,無線投屏功能的延遲也比較高。如果你更注重多屏協同的體驗,可以考慮本文推薦的新方法。
繼華為/榮耀推出Huawei Share和Magic-link一碰傳功能后,多屏協同就成為了很多PC和手機廠商彰顯“軟實力”的戰場,聯想、華碩和戴爾等電腦品牌也紛紛推出了類似的多屏協同客戶端,可實現跨品牌間的協同作戰。下面,我們就來了解一下戴爾Dell Mobile Connect的使用方法。
安裝客戶端
如果你家中的電腦本來就是戴爾品牌,而且是2018年后上市的型號,在Windows 10自帶的微軟商店就能直接搜索下載Dell Mobile Connect客戶端。如果你的電腦品牌并非戴爾,可在網上搜索下載任意版本的客戶端的客戶端,安裝后再通過微軟商店更新到最新版本即可使用。
在應用商店搜索并進入到Dell Mobile Connect下載界面,系統就能自動進行升級安裝操作
在電腦上運行最新版Dell Mobile Connect,勾選歡迎界面底部的條款就能點擊“開始使用”按鈕,該軟件支持Android和iOS系統的智能手機,我們可以根據自己手機型號選擇對應的版本,點擊下一步后會彈出帶有二維碼和對話框的窗口。
在智能手機端,我們可以通過應用商店或掃圖3窗口中的二維碼下載Dell Mobile Connect的移動客戶端,安裝運行后需要允許所有提示權限的申請,不斷點擊下一步直到出現與電腦客戶端配對用的驗證代碼。
返回到電腦端,將這個代碼輸入到圖4中的對話框并點擊下一步,就會看到一組PIN的配對碼。
稍等片刻,你的手機上也會彈出申請配對的窗口,確認PIN無誤后選擇配對,接下來手機上可能會彈出一些權限申請,全部選擇允許即可。
如果電腦和手機總是無法配對成功,請在電腦端進入“設置→更新和安全→開發者選項”,將使用開發人員功能設定在“旁加載應用”或“開發人員模式”下(部分電腦可能需要重啟)。
無線投屏體驗
在電腦上,Dell Mobile Connect是以懸浮窗口的形式顯示,用戶可以自定義窗口大小,功能列表位于窗口最左側,點擊其中的“鏡像”功能,就能獲得與Huawei Share和Magic-link類似的投屏體驗了,我們可以通過鼠標對電腦屏幕內的手機進行操作,為了保證最低的延遲體驗,手機和電腦最好處于同一個Wi-Fi網絡。
在Dell Mobile Connect的文件功能中,我們可以通過電腦直接查看保存在手機中的圖片、視頻、音樂和文檔,可以將它們一鍵下載在電腦本地,將電腦中的文件拖拽到窗口中同樣可以無線傳輸到手機里。
在微信或短信中的輸入框中,我們還可以利用電腦的鍵盤輸入文字,提高聊天效率,還能在電腦上直接進行撥號,非常方便。
可惜,就體驗而言,Dell Mobile Connect較華為/榮耀手機的多屏協同功能還是存在一定的差距,比如通話或播放手機中的音樂時無法使用電腦身上的MIC和音箱,聲音還是從手機中傳出來。此外,手機和電腦連接時如果手機進入鎖屏狀態是無法通過電腦屏幕解鎖的(看不到輸入密碼的界面),還是需要我們拿起手機才能完成。因此,在默認狀態下,手機和電腦連接后前者會一直保持亮機狀態,對續航會有一些影響。
不過,Dell Mobile Connect的通用性和良好的兼容性卻是它的殺手锏,任何品牌的電腦和手機都能實現無線互聯,而且操作起來比較簡單,這就足夠了。