特定のサブディレクトリにファイルをアップロードできるサイトを作っています。誰かが潜在的に悪意のある(おそらくphp)ファイルをアップロードするためのフィルターをバイパスできた場合に備えて、悪意のあるコードにアクセスできないようにすることが可能かどうか疑問に思います。私は2つの異なる方法を見ています。
1つ目は、ブラウザ(www.example.com/images/blahblah.jpg)にファイルのURLを入力してサブディレクトリ内のファイルにアクセスできないようにする方法があるかどうかを確認することですが、ファイルはそのままにしておきます。によってリンクされたときに正しく表示される<img src=images/blahblah.jpg />
これを実現する2番目の方法は、.htaccessファイルを使用してサブディレクトリのphpを無効にすることです。私は試しましたphp_admin_flag engine off
、
php_flag engine off
、
RemoveHandler .php
RemoveType .php
php_flag engine off
Options -ExecCGI
ただし、試行するたびに何も実行されないか、ディレクトリ内のすべてが無効になります。これらが機能しない理由はありますか?PHPを無効にする、または.htaccessでディレクトリを保護するための最良の方法は何ですか?