アカウント名:
パスワード:
https://masarakki.gitbooks.io/c86-kancolle-api/content/fleet.html [gitbooks.io]
そもそも、サーバ側で入力値のチェックをしていないということは、 エンジニアがある致命的な状態に陥っていることを示しています。 それはクライアントプログラムを信用しているという間違った思想です。Webシステムを作る上で、絶対にクライアントを信用してはいけません。 HTTPの仕様上、何が正しいのか、何が正しくないのか判断することはできません。 そもそも正・不正の概念を定義することすら不可能なんじゃないでしょうか。 全ての通信は、実行するユーザには基本的に全て見えてしまうし、 それを完全再現することも容易です。 なので絶対にクライアントを信用してはいけません。実際、 IJN48 を実装する時も通信の内容を解析しかしていません。 やっていることもflashクライアントが出すリクエストと同じものを出しているだけです。 flashクライアントの逆アセンブルは多分規約で禁止されている3とおもいますが、そんなもの全く意味がないのです。さて、 IJN48 とは何でしょうか? APIを叩くbotでしょうか? それともflashのプログラムを実行する処理系でしょうか? それともブラウザそのものでしょうか? 運営の言う「正しくプレイしないとBANするぞ」の正しいプレイとは何でしょうか? 本質的にそんなもの定義できないんですよ。 ネットワーク上では全ての通信が平等です。 そこには正しいとか正しくないとか無いのです。
そもそも、サーバ側で入力値のチェックをしていないということは、 エンジニアがある致命的な状態に陥っていることを示しています。 それはクライアントプログラムを信用しているという間違った思想です。
Webシステムを作る上で、絶対にクライアントを信用してはいけません。 HTTPの仕様上、何が正しいのか、何が正しくないのか判断することはできません。 そもそも正・不正の概念を定義することすら不可能なんじゃないでしょうか。 全ての通信は、実行するユーザには基本的に全て見えてしまうし、 それを完全再現することも容易です。 なので絶対にクライアントを信用してはいけません。
実際、 IJN48 を実装する時も通信の内容を解析しかしていません。 やっていることもflashクライアントが出すリクエストと同じものを出しているだけです。 flashクライアントの逆アセンブルは多分規約で禁止されている3とおもいますが、そんなもの全く意味がないのです。
さて、 IJN48 とは何でしょうか? APIを叩くbotでしょうか? それともflashのプログラムを実行する処理系でしょうか? それともブラウザそのものでしょうか? 運営の言う「正しくプレイしないとBANするぞ」の正しいプレイとは何でしょうか? 本質的にそんなもの定義できないんですよ。 ネットワーク上では全ての通信が平等です。 そこには正しいとか正しくないとか無いのです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
まさらっきがいいこと言ってたぞ (スコア:2, 興味深い)
https://masarakki.gitbooks.io/c86-kancolle-api/content/fleet.html [gitbooks.io]