8

私の大学には複数のサーバーがあり、それらのサーバー間で同じデータがミラーリングされているため、たとえばアクセスできます

foo.uni.edu/file.php
bar.uni.edu/file.php

問題は、すべてのサーバーに PHP がインストールされているわけではないため、PHP がインストールされていないサーバーを介して接続した場合、だれでも私の php ファイルをダウンロードできる可能性があるということです。おそらく .htaccess を使用してこれを回避する方法はありますか? 同様に、PHP サーバーがインストールされている場合にのみ PHP ファイルを開くことを許可しますか?

4

1 に答える 1

1

ドキュメント ルートの外にファイルを保存できる場合は、すべての機密データをドキュメント ルートの外に保存することで問題を回避できます。次に、これらのファイルにアクセスするために、公開されているスクリプトを使用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代わりに試してください。

于 2012-11-17T02:49:58.030 に答える