0

一般にアクセス可能であるが、サイド チャネル経由で共有される URL を生成するためのベスト プラクティスと考えられるものは何ですか?

何かのようなもの:

http://example.com/club/XX-XX-XX-XX
http://example.com/club/YY-YY-YY-YY

XX-XX-XX-XX は 1 つのグループで共有され、YY-YY-YY-YY は別のグループで共有されます。有効なコードが 1 つある場合、他の有効なコードを推測するのは簡単ではありません。

URL に他のセキュリティは必要ありません。

4

6 に答える 6

3

GUIDは、一意の ID として常に適切な選択であり、非常に簡単に生成できます (ただし、見栄えは悪くなります)。

于 2009-03-11T16:15:24.903 に答える
0

Amazon S3 の使用を検討してください。時間制限のある URL が公開されています。

于 2009-03-11T16:15:53.453 に答える
0

UUID を生成することをお勧めします。バックエンドが Java の場合は、Java の java.util.UUID と URLEncode/Decode のテキスト表現を使用できます。ASP.NET を使用している場合は、.NET に相当するものがあると確信しています。

于 2009-03-11T16:16:19.113 に答える
0

URL のパス部分を生成するには、何らかの形式のハッシュを使用します (SHA1 で十分です)。もちろんランダム化。ファイルが存在するディレクトリを 711 に chmod します ( rwx--x--x)

于 2009-03-11T16:16:47.680 に答える
0

英数字のランダムなシーケンスがその仕事をします。26 個の小文字、26 個の大文字、および 10 個の数字の中から選択された文字を何十回も繰​​り返せば、ほとんどの場合、必要に応じて十分です。

于 2009-03-11T16:17:52.170 に答える
0

複雑さと読みやすさ (または覚えやすさ) の間でトレードオフの関係にあります。GUID は、前述のように簡単に生成できる「独自の」コードを提供しますが、読みやすさと記憶力は低くなります。任意に分割されたランダムな文字列も解決策を提供する可能性があります。最後に、無作為に選択された英単語は、記憶とコミュニケーションが容易であり、おそらく同じレベルの分離と保護を提供します.

結局のところ、ユーザーが特に勤勉で、アドレス履歴とブラウザー履歴を無効にしない限り、URL はすべての人に表示され、その後誰がマシンにアクセスしたかを確認できます。

于 2009-03-11T16:20:33.473 に答える