読者です 読者をやめる 読者になる 読者になる

そんな今日この頃でして、、、

コード書いたり映画みたり。努力は苦手だから「楽しいこと」を探していきたい。

非実在小学4年生の謝罪ページのJSを読む

コーディング Javascript

方々で話題の非実在小学4年生が作ったサイト。

どうして解散するんですか?


【顛末追記】小4『どうして解散するの?サイトつくったからおしえて』民主くん『天才少年現る!』→仕込みっぽすぎて炎上 ➡結果NPO運営でした - Togetterまとめ

稚拙な手法であえなく炎上→謝罪と相成ったわけですが、謝罪文がまた上から目線で再炎上してるあたりが様式美ですね。

しかも、それだけじゃまだ燃え足りないのかJavascript本文を消す細工があった模様。


そんなわけで0時を回り、ワクワクしながらサイトを開くと・・・

アレ?ちゃんと表示されてる。

https://twitter.com/kikumaco/status/536172921035583489


噂のJavascriptを読むと・・・

※ちなみにminifyされたJSを読みやすく整形してくれるツールの存在を初めて知った。 何気に便利すな↓

Minifier - compress JavaScript or CSS, deminify JavaScript or CSS, create SQL INSERT commands from CSV

function countdown() {
    var a = new Date(); //現在の(端末の)時刻を取得
    var b = a.getTime(); //比較用に数値に
    var c = new Date(2014, 10, 23, 0, 0, 0); //2014年11月23日 00時00分00秒を取得(月は0始まりのカウントなので10で正しい)
    var d = c.getTime(); //比較用に↑のを数値化
    if (d < b && document.getElementById('report_countdown')) { 
        //23日以後かつカウンタ表示あれば
        var e = document.getElementById('report_countdown'); 
        e.parentNode.removeChild(e);//カウントダウンの要素を削除
        clearInterval(interval)
    } else {
        //23日以前なら…
        var f = d - b;
        var g = 30000000 * f / 10800000;
        generateCounter2(Math.floor(g))//カウンタを表示
    }
}

あれ?別に本文削除する仕組みもないぞ???


ガセだったのかなーと心配しつつ魚拓を確認。

http://why-kaisan.com/ - 2014年11月22日 21:43 - ウェブ魚拓

お。ちゃんと消えてる。

魚拓の方のJSをみると・・・

function countdown() {
    var a = new Date();
    var b = a.getTime();
    var c = new Date(2014, 10, 23, 0, 0, 0);
    var d = c.getTime();
    if (d < b) {
           //23日以後なら…
        document.getElementById("wrapper").innerHTML = "" //謝罪文が含まれる"wrapper"要素を削除
    } else {
        var e = d - b;
        var f = 30000000 * e / 10800000;
        console.log(e);
        generateCounter2(Math.floor(f))
    }
}

あ、ちゃんとある!!


わざわざJavascriptで仕込んだのは、きっと魚拓対策だったんだろうなと推測。

昨今では炎上するとサーバ側で本文消しても魚拓としていつまでも残っちゃう難儀な時代だし、政治家を志向する身として後々に悪材料になりそうなものを残さないための悪あがきだったのだろうけど、日を回る前にバレてしまったせいなのか流石にアカンと思ったのかあわてて小細工を消したのだろう。

まあ、結局証拠残っちゃってるんですけどね。


これに尽きる。



最近『動物農場』読んでたこともあって、ああいう「賢い俺が馬鹿な民衆を先導(扇動)するんだ」的な発想て凄く嫌悪感を催してしまう。

動物農場 (角川文庫)

動物農場 (角川文庫)


ちょっとだけ補足:なんでJavascriptで消すと魚拓対策になるか?

普通の静的なHTMLはもとよりPHPその他サーバサイドの言語で作ったページというのは、あくまでサーバから表示する文言その他を指定したコードを吐き出すだけ。

なので、魚拓のようなあるタイミングで吐き出されたものを保持しておくサービスでは、後でサーバから消そうがそういう仕組みを仕込んでいれてようが意味がない。


一方でJavascriptサーバから受け取ったコードを個々の端末(ブラウザ)が実行するもの。

なので、魚拓とっても消す構造ごと保管されてしまうわけで、個々の端末では保存時のコードに従って動作するので消えて見えるという感じ。

(一応Javascriptを切るとか端末の時間ずらすとかすりゃ見れるけど)

今更ながら補足

さも魚拓対策が真相みたいに拡散しちゃった後でいうのもなんだけど。

”謝罪文”の雰囲気から察するに実際のところは、世間の怒りの本気度を理解できてなくて(あいつらシャレ通じねーな位に思っていたのかも)、「ドッキリ大成功」的なノリで茶目っ気発揮しちゃったのがあのタイマーだったんじゃないかなとも思える。

(元々ここまで炎上しなくても、週明けに「ツイッターで話題」つってある程度メディアに取り上げられた後でネタばらしして名を上げようみたいな公算もあったのかもしれない)

それはそれでイラッとはするけども。


この件に関して感じるところは大体↓の方と同じ。

「どうして解散するんですか?」はどうしてわたしたちを失望させたんですか?(若者22歳)追記の更に追記 - Action Bit

「釣られて怒ってるんじゃねーよ」みたいな擁護意見も見かけるけど、問題はそういうことじゃなくて(というか大概の方が釣られなかったからこうなってるわけで)、やり方があまりに卑劣な点だと思うんだよね。

「実在する小学4年生」を装うってのはなりきりキャラの仮面をつけるのとは訳が違う。

そして「謝罪したから良いじゃん」というのもあるけど、少なくともあの文面から謝罪の意識も誠実さも見えない。

この件に関してはどうしようもなく嫌悪感を抱く。