2012-11-17 18 views
8

私の大学では、それら全体でミラーリング同じデータを持つ複数のサーバーを持っているので、私はインスタンス事がある無効にダウンロードが

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

のためにアクセスすることができますPHPをインストールしていないサーバを介して接続した場合、誰も私のPHPファイルをダウンロードする可能性があります。 これを避けるために.htaccessを使用する方法がありますか? PHPサーバがインストールされている場合にのみ、PHPファイルを開くことを許可しますか?

+1

''を利用できるかもしれません。 – mario

+0

なぜ、単一の(ロードバランシング)サーバーへのアクセスを制限しないのですか? – Kubee

答えて

1

ドキュメントルートの外部にファイルを格納することができる場合は、すべての機密データをドキュメントルートの外に保存することで問題を回避できます。このファイルにアクセスするには、公開されているスクリプトにincludeを使用します。だから、

、あなたが/username/public_htmlにアップロードする場合、およびpublic_htmlは、ドキュメントルートである(例えば、foo.uni.edu/file.php/username/public_html/file.phpである)、そして、あなたが代わりに/username/file.phpにアップロードして、単にinclude('../file.php');

このようなものが含まれている/username/public_htmlに別のスクリプトを置きますいずれの場合でも、サーバー上の構成エラーによりPHPが解析されなくなった場合には、良い方法です。

mod_php場合にもPHPファイルへのアクセスを拒否するIfModuleFilesMatchを使用してみてください可能性が有効になっていません。

<IfModule !mod_php.c> 
    <FilesMatch "\.php$"> 
     Order Deny,Allow 
     Deny from All 
    </FilesMatch> 
</IfModule> 

これが動作しない場合は、代わりに!mod_php5.cを試してみてください。

+0

いずれかのmodが、phpファイル(PHPがインストールされているサーバー内)にアクセスしようとするとアクセス許可を拒否しました – vascoFG

+0

サーバが古くなったPHP4をインストールしている可能性はありますか?もしそうなら、 '!mod_php4.c'を試してください。それでもうまくいかなければ、私は困惑しています。 – Kelvin

関連する問題