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