0

識別子を使用して特定のページを識別する必要がある Web アプリケーションを開発しています。

通常、DB 内のアイテムの ID に関連する自動インクリメント整数を使用します。

例: http://example.com/item/1

しかし、次のような識別子の使用がますます増えています (TinyUrl と YouTube): http://example.com/item/1BHYQJh1

そして、私はこの解決策をとるべきでしょうか?

本当に長い整数になる場合に備えてIDを短くするだけですか?

それとも、1を2に置き換えることで人々がURLを「推測」できないように、魂を「ハックプルーフ」することですか.

最後の 1 つは本当に感謝しています。この特別なセキュリティをアプリケーションに追加したいと思います。しかし、これとまったく同じことを行うコードスニペットを知っている人はいますか?

C# の例は素晴らしいでしょう。

4

2 に答える 2

1

これは実際にはプログラミングの問題ではありませんが...

私は「素敵な」URLを好みます。私は一人ではありません。私にとって、単純な数字は1BHY ...よりも優れていますが、YMMVです。

あなたが言及する「推測」はここでは関係ありません。ユーザーが/2へのアクセスを許可されている場合、それは問題ではありません。彼が許可されていない場合は、あいまいなURLに基​​づいてセキュリティを設定するのは適切ではありません。誰かが間違った値を入力して、自分用ではないページにつまずいた場合はどうなりますか。

セキュリティが必要な場合は、現在のユーザーが指定されたURLでページにアクセスできるかどうかを確認し、それに応じて行動する必要があります。

「C#の例」の意味がわかりません。これらはURLであり、C#では表現されていません。

于 2012-09-19T09:33:07.677 に答える
0

Guid.NewGuid()を使用して、「一意の」識別子を作成できます

GUIDは常に100%一意ですか?

于 2012-09-19T10:02:07.073 に答える