2

友人から、彼の会社が使用している PHP アプリケーションを更新するように依頼されました。アプリケーションが DB 構成ファイルに .ini 拡張子を使用していることがわかりました。このファイルには、DB ホスト アドレス、ユーザー名、およびパスワードが含まれています。問題は、Web ブラウザーでファイルにアクセスできることです。

その理由を理解しようとしています。拡張子が .ini の通常の php ファイルを使用する特定の理由はありますか??? 私はそれを理解していません。

4

5 に答える 5

3

Zend_Config_Iniを使用できます。快適で簡単です。単純に、設定ファイルを任意のユーザーがアクセスできる場所 (public_html など) に配置しないでください。

于 2009-08-19T11:28:57.773 に答える
3

INI ファイルは、構成を処理する 1 つの方法にすぎません。おそらく、開発者は Windows 開発のバックグラウンドから来て、使い慣れたものを何でも使用しました :)。さらに、PHP はparse_ini_file関数を使用して INI ファイルを解析する便利な方法を提供します。

ただし、Web から .INI ファイルにアクセスできないようにする必要があります。これを docroot の下に移動して、PHP スクリプトが引き続きアクセスできるようにしますが、ランダム ブラウザーはアクセスできません。

于 2009-08-19T11:32:49.543 に答える
3

読みやすさは、私が過去に php スクリプト構成に ini ファイルを使用した主な理由の 1 つです。コーダーではない人でも、少なくとも 1 回は ini ファイルを使用したことがあり、単純な php ファイルよりもはるかに簡単であることを理解できます。

誰でも読める ini ファイルの問題は、サーバー側の設定によって防ぐことができます。ファイルの先頭にあるコメント行内に 1 行のコードを追加するだけで、さらに効果的です。

そうすれば、ファイルがブラウザ経由でアクセスされたときに php は「直接アクセスは禁止されています」を出力し、ini ファイルは以前と同様に機能し続けます。

于 2009-08-19T12:25:50.583 に答える
1

これは、構成に別のファイルタイプを使用したい元プログラマーの願いのようです。このファイルに他に用途がない場合は、名前を *.php に変更して忘れてください。そうでない場合は、ini を php として解析するように Web サーバーを構成するか、Web サーバーから到達できないディレクトリに移動します。

于 2009-08-19T11:31:00.577 に答える
1

価値のあることとして、PHP は伝統的に PHP のphp.ini構成に使用されてきました。だから多分それはある種の遺産ですか?

于 2009-08-19T11:27:40.880 に答える