ミュージックステーションのスマホ投票を解析したらサーバ送信してなさそう…と思ったら1/100の確率で送信してそうだとわかった話

すぱげってぃもんすたー
122
Mikage Sawatari @mikage

沢渡みかげ。VRC:mikage.s ドール/オルガン/アコーディオン/Erlang/Perl/go/原神/FF14(Mikage Sawatari@Ridill)/アニメ/音ゲー少々/住宅ローン/放射線測定器

mikage.to

Mikage Sawatari @mikage

今日もミュージックステーションでスマホ生投票、ってやってたのでソースを見たけど前と同じ。サーバに送信するコードはないし、コード作った人のレベル的に実装できなさそうw 最初から1~3位は決まってるのだろうなぁ。自分の投票が反映されると信じて投票する視聴者がかわいそうだ… pic.twitter.com/7IJaCktpOs

2022-09-23 21:27:23
拡大
Mikage Sawatari @mikage

放送では投票結果として数も出てたけど、あらかじめ用意した適当な数なのかな〜。こんなだからテレビは信用できない

2022-09-23 21:40:41

これで送信されてない?の指摘

まろっく @mallocalloc

@mikage iframe内の0001.htmlから読み込まれているround1_post.jsからPOSTリクエストが送信されているように思えるのですがどう思いますか?

2022-09-24 00:04:07
Mikage Sawatari @mikage

@mallocalloc コメントありがとうございます。コードを確認したところ、難読化されていて全部把握できてないですが、Math.floor(Math.random() * 99) === 0 の場合、つまり1/100で$ajaxしてそうでした。

2022-09-24 00:46:25

実際には1/100の確率で10秒分のカウントを送信している模様

Mikage Sawatari @mikage

すいません。訂正します。 @mallocalloc さんからご指摘いただきましたが、1/100の確率で、10秒に1回サーバに投票数を送るコードがありました。 私の環境ではこの当選に当たらなかったため、Network通信をしておらず、何も送ってないようにみえたというのが事実でした。

2022-09-24 00:49:40
Mikage Sawatari @mikage

レベル的に、というのは言い過ぎでした。申し訳ないです。 コードは以下の内容でした。 難読化の影響でよくわからない部分もありますが、10秒間分のカウントをためて送信するコードになってるように見えます。 pic.twitter.com/ICgx1ABZcW

2022-09-24 00:49:41
拡大
yoshino @yoiyoicho

スマホ投票を大々的にうたっておきながら全然集計してないなんてことあるかいなーと思ってリプ追ってみたら、どうやら「1/100の確率でGAにイベントが送信されてる」がファイナルアンサーっぽい。 しかし勉強になるね! twitter.com/mikage/status/…

2022-09-24 00:54:59

しかし酷いコーディング

tomo @tomo0611_

@mikage コード自体もいろいろ突っ込みどころが多い パーツファイルを外部から読み込んでる、、最近はそういうのが流行ってるのでしょうか? pic.twitter.com/XAaEuV4CC4

2022-09-23 23:51:46
拡大
拡大
ムニエル @munieru_jp

ツイート主の勘違いで実際には送信されていたようだけど、それはともかくコードがひどすぎる…… twitter.com/mikage/status/…

2022-09-24 00:54:31
Hiroki Kawakami @hiroki_cockatoo

eval("clickCount_" + itemId + " ++;") とかやばいな。何したらこんなコード書けるんだろうか。 twitter.com/mikage/status/…

2022-09-24 00:43:38
Yamada @kpenj

会社で見たら唸っちまうコードだ twitter.com/mikage/status/…

2022-09-24 00:40:31
Komit @komit

「ディレクトリが変更になったらパスの変更をお願いします。」が一番好き。 eval使った強引なカウントも捨て難いが。 twitter.com/mikage/status/…

2022-09-24 00:32:37
うい @user_inter_face

@mikage スゴイしょぼいコード…(;´Д`) コンソールログはコメントアウトされてないし 変数宣言もvarだし(;´Д`) evalとか非推奨のもん使ってるし

2022-09-23 23:56:05
ごんた @gongonta66

確かにここのコードには送信処理書いてないけど、ここだけみて決めつけんのはよくないなぁと思う☹️ このコード書いた人は、書き方的に初心者な気がする!がんばれ!!!書いた人!!! twitter.com/mikage/status/…

2022-09-24 00:47:24

clickCount_0008

アルノ / PC ジャンク official @ArunoPc

@mikage ここら辺自分も初心者だから同じ雰囲気を感じる 配列とかの作り方分からなかったんだね、、、 気持ちわかるよ 俺も分からん時こんなコードになるもん。。。 pic.twitter.com/9jBt9utaSk

2022-09-23 23:45:14
拡大
ですぺにゃ @penya_chan

@mikage clickCount_0001から0015を頑張って変数宣言してやがる・・・・w

2022-09-23 23:34:36
Mikage Sawatari @mikage

@Psylibia_ 1~3位から選ぶ投票だったので実際に使うのは3までw

2022-09-23 23:35:26
先天性のザコ @sentennsei

@mikage clickCount_0008はどこに行った?

2022-09-23 23:41:30
Mikage Sawatari @mikage

@sentennsei おお、気づかなかったw 実際の投票は1~3位で3つしかつかってないので、ミスに気付かないままなんでしょうね…

2022-09-23 23:45:08