2011-01-11 10 views
0

ウェブサイトの支払い用の処理ファイルがあります。それはうまく動作しますが、何をしたいのですか?このページにすべてのリクエストを記録すると、何かエラーが発生した場合、生データが保存され、トランザクションを手動で処理できるようになります。処理ファイルは、別のディレクトリのログファイルに書き込むためにfopenを使用します。権限が正しく設定されたカスタムログファイル

権限が755のルートディレクトリに別のフォルダがあります。その後、権限が777のログファイルがあります。ログファイルに書き込む処理ファイルは、PHPの場合は777に設定されています

これは今動作しますが、ログファイルは一般に公開されています。私はこれをより良くすることができ、権限が正しくないことを知っています。私はこれをより良くするにはどうすればいいですか?

答えて

1

ログファイルをドキュメントルートの外側に置きます。それに書き込むPHPスクリプトは(フルパスで)それにアクセスすることができますが、Apacheはそれを提供することができません。

+0

権限に関する回答ではありません – vladkras

0

自分で答えを探しているうちに、私はこれを見つけました。私は、あなたが望むことを行うための単純な "アクセス許可の修正"があるとは思っていません。おそらく最も安全な方法は、ログファイルをpublic_htmlディレクトリの外に置くことです。

ただし、これは迷惑になることがあります。特に、たとえばpaypal ipnダンプテキストをログファイルにキャッチしますが、パブリックにアクセスできません。

このような場合、.htaccessファイルディレクティブを使用してスクリプトからの書き込みを許可できますが、パブリックアクセスからの読み取りは拒否されます。

たとえば、これは私の仕事です(rootのpublic_htmlフォルダにあるApacheの.htaccess)。

<FilesMatch "mycustom\.log"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 

保護したいログが複数ある場合は、このように「Pipe Separated」で使用してください。

<FilesMatch "mycustom\.log|ipn_errors\.log"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 

これは、上記のディレクティブは、Apacheの2.4で廃止されていることを指摘し、あなたの代わりに、より多くの電流ディレクティブを使用することを検討することを望むかもしれない価値がある:https://httpd.apache.org/docs/2.4/howto/access.html

希望あなたを助けています!

関連する問題