2011-08-31 16 views
1

[OK]を、私はすべてのルート相対的なリンク構造を使用するには夢中です。 PHPにインクルードすると常に難しいことですが、ルートの相対的な部分を含めることができるコード行が発生しました。set_include_pathを使用すると、セキュリティ上のリスクや不利な点がありますか?

PHPマニュアル

でのコメントからだ

set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT']); 

私は非常に単純なPHPのサイトを持っていますが、多くの異なるサブディレクトリで、これはそれが簡単に使用できるようになります:

それは本当に簡単です。また、サーバーはすぐにサーバーを切り替える可能性があり、多くのサイトの移行が容易になると考えています。

ここにセキュリティリスクがありますか?私は動的にファイルを含めるか、またはそれらをリモートに含めるわけではありません。私はこれを含むすべてのPHPファイルのトップにパフォーマンスヒットを取っていますか?それとも無視できるのでしょうか?

答えて

1

include_pathに入れるものを制御する限り、セキュリティ上のリスクはありません。

include_pathにパスが多すぎると(PHPがファイルを見つける前に各パスを試す必要があるため)、パフォーマンスが低下します。

+0

インクルードパスに多くのパスを追加する必要がある場合は、順番にパスを検索するため、最も一般的なパスを先頭に置きます。 –

+0

答えをありがとう! – Ben

0

コードを指定すると、include_pathの末尾にdocrootがあるため、include_pathの残りの部分にインクルードファイルが見つからない場合(つまり、ファイルが見つからない場合)、パフォーマンスヒットが表示されます。

関連する問題