私は野生のマルチプレイヤーモバイルゲームを持っていますが、それはSQLデータベースの支援を受けています。各ゲームは、自動増分フィールドだけのIDを取得します。私のようなURLでゲームを調べることができます。URLは、現時点でのプレイヤーには見えていないことをユニークな整数からのユニークな英数字の文字列ですか? (ゲームサーバーのIDをマスキングする)
http://www.example.com/gameId=123
が、ユーザーが友人を招待し、非プレイヤーが中に見てみましょうことができますので、私はそれを表示することを考えていました。ゲームをプレイするとき(ブラウザを介して - 誰もがネイティブアプリを使いながら)
しかし、オープンにゲームIDを入れているというのは悪い考えです。誰かがゲームを削除するというエンドポイントを推測した場合、彼らはIDを知っている悪いことをすることができます(もちろん、エンドポイントはユーザー認証で保護されていますが、それでもなお保護されます)。
ほとんどのサービスは、この種のIDをマスクしてください、私は次のようにURLを送信する必要があります
http://www.example.com/gameId=maskedIdAbc
、その後、私のゲームサーバーは、私のデータベース内の対応するIDにそのIDを変換する必要がありますか?
これが過度であるかどうかはわかりません。そうでない場合は、ユニークな整数に基づいてユニークな英数字の文字列を生成するにはどうすればよいでしょうか?
おかげ
ハッシュ関数を調べましたか?それがすぐに思い浮かぶのです。同時に、攻撃者はあなたがハッシュ関数を使用していると推測することができます。 – c24w