ドキュメント ルートの外にファイルを保存できる場合は、すべての機密データをドキュメント ルートの外に保存することで問題を回避できます。次に、これらのファイルにアクセスするために、公開されているスクリプトを使用include
します。
したがって、 にアップロードする場合/username/public_html
、 およびpublic_html
がドキュメント ルート (たとえば、 ) である場合foo.uni.edu/file.php
は、代わりに に/username/public_html/file.php
アップロードし、次のようなものだけを含む別のスクリプトを配置します。/username/file.php
/username/public_html
include('../file.php');
これは、サーバーの構成エラーによって PHP の解析が停止した場合に備えて、どのような場合でも良い方法です。
が有効になっていない場合は、PHP ファイルへのアクセスを拒否するためにIfModule
andを使用することもできます。FilesMatch
mod_php
<IfModule !mod_php.c>
<FilesMatch "\.php$">
Order Deny,Allow
Deny from All
</FilesMatch>
</IfModule>
これでうまくいかない場合は、!mod_php5.c
代わりに試してください。