1

次のようなフォルダー構造を作成しようとしています。

  • アップロードされたファイル
    • a
      • aaron.doe@hotmail.com
    • b
    • c
    • ... zまでずっと

パブリック Web ディレクトリの 1 レベル上。唯一の一意のキー (user_id 自体を除く) はユーザーのメールです。メールはユーザー名であるため、...

質問: 人々はこれらのディレクトリにアクセスして、すべてのユーザーの電子メール アドレスを入手できますか? これはどれほど悪い考えですか?どのような代替案を提案しますか?

ありがとう。

4

4 に答える 4

1

平文の電子メール アドレスではなく、必ずハッシュを使用してください。それは必須です。

それ以外は、これは、あいまいさによるセキュリティに基づくソリューションと同じくらい安全(かつ安全ではない)だと思います(つまり、セキュリティは、誰もURLを知らないという事実にのみ依存していますが、知っている場合はアクセスできます)多くの潜在的な穴があります - ユーザーは URL をブックマークできます。ページのどこかに埋め込むことができます。サーバー、ブラウザ、プロキシのログに保存できます...

于 2011-12-22T22:50:00.027 に答える
0

ペッカがちょうど答えたように; リンクがフォーラムなどに投稿され、その投稿がメール アドレス クローラーによってクロールされる可能性が高いため、メール アドレスをハッシュすることをお勧めします。アドレスの単純なハッシュ (md5 など) だけで (ほぼ) これを解決できると思います。

ディレクトリの一覧表示を防ぐ方法と、Apache の方法が機能しない場合の対処方法については、このスレッドを参照してください。

于 2011-12-22T22:56:57.527 に答える
0

電子メールをハッシュしてフォルダー名として使用し、Web ルートの上に置きます。

簡単な認証を使用してこのファイルへのアクセスを許可し、php ファイルを使用してそれらを読み取ってブラウザーに送信することができます。

于 2011-12-22T22:58:17.030 に答える
0

PHPdir関数を見てみましょう: http://php.net/manual/en/class.dir.php

ユーザーが Web 経由でフォルダーにパブリックにアクセスできるようにする場合、フォルダーを Web ルートの上に配置する必要はありません。

また、フォルダ名にある種のハッシュを使用することを検討することもできます。1) 誰も自分の電子メール アドレスを公開したくないため、2) 内部の user_id を公開すると攻撃につながる可能性があるからです。

于 2011-12-22T22:50:00.477 に答える