2011-10-18 10 views
0

Webサーバー上のファイルがコマンドラインエディタでローカルで編集されていたという問題がありました。このルールはセキュリティホールから十分に保護されていますか?

エディタでは、末尾に~文字のバックアップファイルが作成されました。

だから、それはPHPファイルとして処理されていなかったためfile.php~

このファイルという名前のファイルが直接、ウェブサーバ経由でダウンロードすることができませんでした。

私はこのようなディレクティブについて考えた:

<Files ~ "~$"> 
Order allow,deny 
Deny from all 
</Files> 

ので~で終わるすべてのファイルが配信のために拒否されます。

これは良い方法ですか、私は何かが恋しいですか?

+0

〜が他の文字に変わるのを止めるにはどうすればいいですか? –

+0

より良い解決策は、バックアップファイルを作成しないようにエディタに指示したり、ドキュメントルートの外にあるファイルを編集することです。 –

+0

ちょうど.phpファイルだけを実行して、.css/.png/.js ....などのファイルを読み込まないようにしてください。あなたがそのような問題を抱えていなくても、それは良いことだと思います。 – XzKto

答えて

1

これで十分に解決するはずです。しかし、大きな問題は、ソースコントロール(svn、gitなど)を使用してソースコントロールから展開するときに、サーバー上で直接編集することです。別のエディタで.bakを使用するとどうなりますか?

+0

私はこれに完全に同意します。しかし、人間のエラーを制御することは困難です;)この場合、バージョン管理されていないファイル(データベースアクセスデータを含むローカル設定)でした。最初にローカルで編集する理由である資格情報が変更されました。 –

+0

信用証明ファイルは本当にWebルートにあるべきではありませんが、そこには多くの多くのPHPアプリケーションがあることに気づいています。 – DGM

関連する問題