2009-03-11 16 views
0

公開されているがサイドチャネル経由で共有されているURLを生成するベストプラクティスと考えられるため、実際には共有しているグループにはプライベートになっていますか?「プライベート」パブリックURLのベストプラクティスは何ですか?

何かのように:XX-XX-XX-XXは、一つのグループ間で共有、及びYY-YY-YY-YYが他のグループによって共有される

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

。 1つの有効なコードがある場合、他の有効なコードを推測するのは簡単ではありません。

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

+0

乱数は良い候補のようですが、それはどれくらいの大きさでしょうか? –

答えて

3

GUIDのは、彼らが期間限定公開URLを持って、常に一意のIDのために良い選択であると

+0

guidには128ビットの情報が含まれています。 Webサーバーが毎秒10K要求を処理できると仮定すると、推測者は各可能性を順番に試してみるのに1x10^27年以上かかるでしょう。それは過度に思えるので、GUIDよりも短いものが私にはうってつけです。 –

0

はアマゾンS3を使用することを検討して発生するのは非常に簡単です(ただし、醜いです)。

0

UUIDの生成をお勧めします。バックエンドがJavaの場合は、Javaのjava.util.UUIDとURLEncode/Decodeを使用できます。 ASP.NETを使用している場合、.NETには同等の機能があるはずです。

0

URLのパス部分を生成するには、何らかの形のハッシュを使用します(SHA1が行います)。もちろん無作為化されています。 chmodファイルが存在するディレクトリ(rwx--x--x

0

ランダムな一連の英数字が該当します。 26小文字、26大文字と10数字の間で選択された文字は、あなたの必要性のために大体十分でなければなりません。

0

複雑さと可読性(または記憶力)の間にトレードオフがあります。 GUIDは、記述されているように生成しやすいが、読みやすさと記憶力が低い「ユニークな」コードを提供します。任意に分割されたランダムな文字列も解決策を提供するかもしれない。最後に、ランダムに選択された英語の単語は、記憶と伝達が容易であり、おそらく同じレベルの分離と保護を提供します。

あなたのユーザーが特に勤勉であり、アドレス履歴とブラウザの履歴を無効にしない限り、後で誰がそのコンピュータを訪れるのかを見るためにURLが表示されます。

関連する問題