1

ユーザーがPDFドキュメントをプライベートエリアにアップロードできるようにするアプリケーションを作成しています。おそらくすべてのファイルを/uploadsディレクトリにアップロードしようとしていました。

他のダウンロード可能なドキュメントの名前を推測するのが非常に困難になるような方法でPDFに名前を付ける方法についてのベストプラクティス/提案はありますか?

元のファイル名とある種の増分IDが進むべき道かどうか疑問に思っていますか?

例えば:

  • heresmydocument-0.pdf
  • youshouldntguessthis-1.pdf
  • howabouthisone-2.pdf
4

3 に答える 3

2

元の名前とランダムなID。

R := random-integer;
new-filename := original-filename + R;

ここで、+は連結を表します。

これは基本的にあなたが持っていたのと同じ考えですが、IDを推測しにくくしたい場合は、厳密にインクリメントするのはちょっとばかげているという観察を追加しました。

rand()それでも推測しすぎることが心配な場合は、SHA1(original-file-contents + R)の代わりにを使用してRください。しかし、それは確かにやり過ぎです。

編集:実際には、を使用してから、と同等として扱われるR-original-filename.pdf機能を実装することをお勧めします。Redditを含む多くのニュースサイトがこのイディオムを使用していることに気付くでしょう。http://www.reddit.com/r/programming/comments/z3ha1/how_did_you_know_so_much_about_computers_then_i/を書き出す代わりに、http: //www.reddit.com/r/programmingと書くだけで、URLの共有がより便利になります。 / comments /z3ha1/。カジュアルなブラウジングを防ぐために、ユーザーに元のファイル名の最初の数文字を入力するように要求することもお勧めします。しかしもちろん、代わりに数文字を長くするだけでも同じメリットを得ることができます。R-origi.pdfR-original-filename.pdfR

于 2012-08-31T23:29:51.587 に答える
1

データベースバックエンドがある場合は、アップロード時にドキュメントの詳細をそこに保持することをお勧めします。次に、ファイルに非常に複雑な名前を付けます

3058348113409780784350983450894350809.pdf

そうすれば、推測するのはかなり難しいと思います。

于 2012-08-31T23:28:56.623 に答える
0

最後にmd5ハッシュでファイル名を使用できます。それを推測するのはかなり難しいと思います。

于 2012-08-31T23:25:48.520 に答える