0

サーバーで、たとえば一部のファイルがWebルート内に保存されていることがわかりました。

example.com/files/longnamewithcode_1234293182391823212313231230812.pdf

それらはWebアプリ用に保存されており、適切な情報が含まれています。

アクセスexample.com/filesすると空index.htmlになるため、ディレクトリを直接スキャンすることはできません。とにかく、私はこれについて心配しています:それは安全ではないと感じており、ファイルにアクセスするためにどのような攻撃が行われる可能性があるのか​​知りたいです。ブルートフォース攻撃が発生する可能性があることは理解していますが、コードネームが長い場合はそれほど大きな問題ではないと思います。

最後に、正しい方法は、ファイルをWebフォルダーの外に保存し、PHPで返すことですが、これを変更するためのコードにアクセスできるかどうかはわかりません。

4

4 に答える 4

1

Webサーバーによってwebrootからファイルにアクセスできるようにする必要がある場合、ファイル名に十分な量のエントロピーを使用するよりも安全にすることはできませんが、それでも、ホールドを取得するユーザーがリンクを共有するだけでは説明できません。どういうわけかそれらの。

php内で権限チェックを実装する場合は、 mod_xsendfile(apache)、XSendfile(nginx)、X-LIGHTTPD-send-file(lighttpd)X-Sendfileなどの一般的なWebサーバーでのさまざまな実装を調べてください。これにより、アクセスしているユーザーを検証した後、Webサーバーを使用して、基本的にWebルートからファイルにアクセスするのと同じくらい効率的にファイルを提供できます。

于 2013-01-28T13:55:13.943 に答える
0

.htaccessファイルを検討して、これらの適切なファイルへのアクセスを許可するユーザーを制限しましたか?タグを付けましたが、なぜ使用しないのかわかりません。=)

于 2013-01-28T13:47:45.833 に答える
0

フォルダ内のすべてをブロックしたい場合は、.htaccessファイルを使用してすべての接続をブロックできます。

試す

deny from all

そのディレクトリの.htaccessファイルにあります。これにより、インデックスファイルを含むそのディレクトリ内のすべてのアクセスが拒否されます。

于 2013-01-28T13:49:38.290 に答える
0

質問は

ユーザーがファイルに自由にアクセスできるようになっていますか?

はいの場合、それらのファイルについてあまり心配しないでください(書き込み可能でない限り)。

いいえの場合、つまりユーザーがダウンロードするにはログインする必要がある場合は、一般にアクセス可能なフォルダーからアプリケーションの奥深くに移動します。ファイルの権限を管理するphpスクリプトを記述します/download?file_id=1

于 2013-01-28T13:52:10.753 に答える