2

データベースには、Usersテーブル、テーブルなどのPostsテーブルがあります...

user_id             username
----------------------------
1                    ToTo
2                    TaTa
3                    TiTi

ユーザー ページにアクセスするには、通常、URL のパラメーターを変更するだけで済みます。

/User.php?id=2
/User.aspx?id=3
/User.jsp?id=4

一部の Web サイト (おそらく Google Plus) では、ID は数字の長い文字列です。プロファイル ID を何度も減らしたり増やしたりして、それらのページにアクセスしようとしましたが、ページがありませんでした (エラー 404)。 、それらのユーザーがプロファイルを削除したことを示していますが、この ID はインクリメントされておらず、実際に生成されていると思います。

ID を生成する利点は何ですか? (数字または文字/数字の文字列)。いつ使用する必要がありますか?

4

1 に答える 1

3

自動インクリメント ID は、一意の ID を保証する簡単な方法です。この機能を使用せずに一意性を保証するにはどうすればよいかを考えてみてください。このために関数が作成されましたが、まだ.. (例: SQL を使用して一意の識別子を作成する)

アクセスしようとしたプロファイルへのアクセスが許可されていないという理由だけで、404 を受け取った可能性が十分にあることに注意してください。推測した ID が実際に存在していた可能性があります。

Google が ID を単純に 1 から増やしてユーザー数を増やすわけではない可能性が非常に高いです。これにより、アカウントの経過時間や、より不明瞭になったアカウントの特定のページへのアクセスを試みる簡単な方法などが示されます。また、問題の ID が、実際には、名前 (の一部) の (ソルト化された) ハッシュである可能性もあります。

于 2013-03-13T01:33:23.487 に答える