日本13歲女學生被警方調查:因發布JavaScript 無限循環代碼
日本刈谷市警方近日質詢並指控了一名13歲的女學生,起因是她將一段惡意代碼的鏈接放到了在線公告欄上,廣泛傳播代碼。這段有問題的惡意代碼是彈出警告消息的無限循環,每當你點擊“確定”就會立即顯示新的消息。
對代碼感興趣的童鞋可點擊這裡進行訪問。
可以看到,這就是十分常見的惡作劇無限彈窗,點了“確定”按鈕,這個窗口便會一直彈出。這裡的效果就是輸出顏文字(kaomoji)和一條短消息,翻譯過來就是“多次關閉它是沒用的。”
不過通過移動瀏覽器訪問可能看不到這個效果,因為它們普遍都默認阻止彈出式窗口。而每款主流的桌面瀏覽器對這種無限彈窗也都有處理方案。比如說,Edge 瀏覽器提供了一個複選框,可以阻止頁面顯示後續對話框,而Chrome 讓你可以關閉選項卡—— 儘管有對話框。
△ 微軟 Edge瀏覽器讓人們很容易阻止JavaScript無限警告的循環
代碼本身極其簡單,它最終的效果不過是產生一個無限循環和一個警告框:
for ( ; ; ) {window.alert(" ∧_∧ ババババ\n( ・ω・)=つ≡つ\n(っ≡つ=つ\n`/ )\n(ノΠU\n何回閉じても無駄ですよ~ww\nm9(^Д^)プギャー!!\n byソル(@0_Infinity_)")}
代碼就長這樣,不過這與短短一天內導致1507台計算機系統崩潰的代碼不完全一樣。
警方在調查這起犯罪行為時仔細檢查了公告欄的用戶日誌,發現其他人也涉嫌附有鏈接。為此,警方搜查了一名失業男子和一名47歲的建築工人所住的房子。這三個人中沒有一個人被指控實際編寫這個無限循環。女孩解釋其行為時稱,自己經常遇到這樣的惡作劇,以為如果有人點擊鏈接會很好玩。
消息中出現的推特用戶0_Infinity_ 有一個受保護的帳戶,但該用戶在自我介紹部分留下了一條消息,表明他們不明白為什麼這個腳本在今天引起如此大的動靜,該腳本是在2014年編寫的。
為了抗議日本警察採取的行動和將此行為定為犯罪的荒謬做法,東京者Kimikazu Kato在GitHub上創建了一個名為Let’s Get Arrested(來逮捕我們)的倉庫( https://github.com/hamukazu /lets-get-arrested )。
fork這個項目,然後創建一個名為gh-pages的分支,就能創建一個託管在GitHub上的簡單,該網站只含有無限循環警告,犯罪行為簡直觸手可及。
△ https://github.com/hamukazu/lets-get-arrested/blob/master/README.zh_hans.md
△ 提供了多國語言版本