2012-02-08 17 views
0

あなたの経験から、絶対パス(/、/ common/libなど)を含むファイルを含める前にVPSで行うべきセキュリティ対策がありますか? phpまたは/images/image.jpg)'/'を開いているファイルも含めて確実に確認する方法

+2

VPSが正しく設定されている場合は、セキュリティ対策を追加する必要はありません。あなたはどこでやってみようとしているのですか?実際のファイルシステムの絶対パスを意味しますか?それで '/ common/lib.php'はほとんどの場合意味がありません –

+0

ユーザ入力変数を持たない絶対パスを使ってそれらを構築する場合は、何も心配はありません。ユーザー入力を使用している場合は、ヌルバイトのエラーや入力パスに '../ 'を含めることを防ぐ必要があります。 –

答えて

2

はい、確かにあります。

display_errorsがオフになっていることを確認して、すべてのエラーメッセージが表示されないようにします。

次に、$_SERVER['DOCUMENT_ROOT']を追加するか、他の方法でこれらのパスを実際にする。限り、あなたは何の動的に生成されたファイル名

あなた自身が安全に検討することを利用していないコード

include $_SERVER['DOCUMENT_ROOT'].'/common/lib.php'; 

のこの種を使用しているよう

そして、はい、。

+0

私のブートストラップファイルにはどこにでも含まれていますが、通常は 'define( 'APP_ROOT'、dirname(__ FILE __));'のようなものがあります。私は個人的にDOCUMENT_ROOTが好きではありません。 – Leigh

+0

もオプションです。 –

+0

そのコメントを書いて、私はどれほど愚かなのか気づいた。ブートストラップは 'define( 'APP_ROOT'、__DIR __);' ... Thanks Shrapnel;)を読んでいます(5.3より前のPHPでは最初のオプションが動作しますが、2番目のオプションでは動作しません) – Leigh

関連する問題