ドキュメント ツリーと PHP 拡張機能の問題
書籍「PHP と MySQL Web 開発」でそのような段落を見たので、専門家が答えてくれることを願っています
PHP は必要なチェックを行いません。ファイル拡張子名。これは、ファイルを直接呼び出したくない限り、ファイルに任意の名前を付けることができることを意味します。 require() ステートメントを使用してファイルがロードされると、そのファイルは PHP ファイルの一部として実行されます。
通常、PHP ステートメントが HTML ファイル (たとえば、page.html という名前) に配置されている場合、それらは処理されません。 PHP は通常、.php などの拡張子が定義されたファイルを解析するために使用されます。 (これは Web サーバー構成ファイルの場合に当てはまります) ただし、この page.html が require() ステートメントを介してロードされる場合、ファイル内のすべての PHP コマンドが処理されるため、インクルード ファイルには任意の拡張子を付けることができます。ただし、拡張子に .inc という名前を付けるなど、規則に従うようにしてください。
注意すべき点は、拡張子 .inc またはその他の非標準拡張子を持つファイルが Web ドキュメント ツリーに保存されており、ユーザーがそれらのファイルをブラウザーに直接ロードできる場合、ユーザーはソースを表示できることです。コードはパスワードを含めてテキストとして保存されるため、含まれるファイルをドキュメント ツリーの外に保存するか、標準のファイル拡張子を使用することが重要です。
このテキストでは、拡張子に .inc という名前を付けるのが良いと述べられていますが、これはなぜですか? 次に、ドキュメント ツリーとは何ですか?最後に、インクルードファイルをドキュメントツリー外に保存する方法
-----解決策---------------------- ---------
これは、含まれる php ファイルを Web サイトのドキュメント ディレクトリの外に保持し、Apache を実行しているユーザーがそのディレクトリにアクセスする権利を確実に持つようにするためです。
たとえば、Apache のデフォルトのディレクトリは /var/htdoc に設定されており、含まれる php ファイルに .inc 接尾辞を付けた名前を付け、それを /var ディレクトリに配置すると、ブラウザが以下の /var ファイルにアクセスできません。