ホームページ >バックエンド開発 >PHPチュートリアル >PHP アンチインジェクション プログラムの機密情報_PHP チュートリアル
PHP セキュリティの 1 つである PHP アンチインジェクションは、私たちプログラマーが理解して習得する必要があるテクノロジーです。ここで、プログラム内の機密情報に対するセキュリティの実践方法をいくつか紹介します。
簡単に言うと、データベースのアドレス、ユーザー名、パスワードなど、他人に知られたくない情報です。この種の情報は、知る人が少ないほど良いです。
通常、PHP プログラムの設定ファイルは次のようになります:
コードは次のとおりです | コードをコピー |
|
このような問題を解決するにはどうすればよいですか?最も直接的な方法は、コードから機密情報を削除し、別の場所に保存することです。いったいどこに保存されているのでしょうか? nginx の fastcgi_param を通じて設定するなど、多くのオプションがあります:
コードをコピー | |
fastcgi_param DATABASE_PASSWORD e1bfd762321e409cee4ac0b6e841963c;
|
配列を返します(
'データベース' => 配列( |
コードは次のとおりです
コードをコピー
env[DATABASE_HOST] = 192.168.0.1 | env[DATABASE_USERNAME] = 管理者 | env[DATABASE_PASSWORD] = e1bfd762321e409cee4ac0b6e841963c
注: @Laruence さんから、nginx の fastcgi_param で設定情報を設定すると、nginx が php とやり取りする際に大量のデータが転送されることを思い出しました(そのため、php-fpm の env で設定した方が比較的有利なようです)。 , Niao 兄弟は、「Hidef」などの独立した拡張機能を使用することをお勧めします。 nginx および php-fpm 設定ファイルを使用して問題を解決する場合は、Web でのみ有効ですが、$_SERVER で関連情報を取得できません。は難しいことではありません。一般的なスクリプトを使用して nginx または php-fpm 設定ファイルを照合することができ、この情報をコマンドライン環境に動的にマッピングすることができます。 コードはきれいで、残りの作業は nginx または php-fpm 設定ファイルのセキュリティを確保することですが、コードと比較すると、nginx または php-fpm 設定ファイルは多くの人に権限を与える必要がありません。管理が比較的簡単です 皆さんが注意しなければならない重要な関数 phpinfo() もあります。phpinfo 関数が正常に表示できれば、 ことができます。
例: |