ホームページ  >  記事  >  ウェブフロントエンド  >  PHP セキュリティの向上: Modified_JavaScript スキルが必要な 8 つの PHP デフォルト設定

PHP セキュリティの向上: Modified_JavaScript スキルが必要な 8 つの PHP デフォルト設定

WBOY
WBOYオリジナル
2016-05-16 16:31:161764ブラウズ

明らかに、PHP Mysql Apache は非常に人気のある Web テクノロジであり、この組み合わせは強力でスケーラブルであり、無料です。ただし、PHP のデフォルト設定は、すでにオンラインになっている Web サイトにはあまり適していません。デフォルトの設定ファイルを変更して、PHPのセキュリティポリシーを強化しましょう!

0x01: リモート URL ファイル処理機能を無効にします

fopen のようなファイル処理関数は、ファイルの rul パラメータを受け入れます (例: fopen('http://www.yoursite.com','r'))。この関数はリモート リソースに簡単にアクセスできます。ただし、これは非常に重要なセキュリティ上の脅威です。ファイル機能を制限するには、この機能を無効にすることをお勧めします。

コードをコピー コードは次のとおりです:

allow_url_fopen = オフ

0x02: グローバル変数の登録を無効にします

4.2.0 より前のバージョンでは、PHP は register_globals と呼ばれるグローバル変数を使用します。幸いなことに、この機能により、攻撃者がグローバル変数を簡単に操作できるようになります。 4.2.0 ではデフォルトで無効になっています。これは非常に危険なので、いかなる状況でも無効にする必要があります。一部のスクリプトでこの機能が必要な場合、そのスクリプトには潜在的なセキュリティ上の脅威があります。 pnp.ini を変更してこの機能を無効にします:

コードをコピーします コードは次のとおりです:

register_globals = オフ

0x03: PHP の読み取りおよび書き込み操作を制限します

多くの Web 開発プロセスでは、php スクリプトは /var/www/htdocs/files などのローカル ファイル システムの読み取りおよび書き込みを行う必要があります。セキュリティを強化するために、ローカル ファイルの読み取りおよび書き込み権限を変更できます。 :

コードをコピー コードは次のとおりです:

open_basedir = /var/www/htdocs/files

0x04: ポーズ制限

PHP の実行時間、メモリ使用量、データの投稿とアップロードを制限することが最善の戦略です。次のように設定できます。

コードをコピー コードは次のとおりです:

max_execution_time = 30 スクリプトの最大実行時間
max_input_time = 60 入力の解析に費やした最大時間
Memory_limit = 16M ; 1 つのスクリプトで使用される最大メモリ
Upload_max_filesize = 2M アップロードファイルの最大サイズ
post_max_size = 8M ; 最大投稿サイズ

0x05: エラー メッセージを無効にし、ログを有効にします

デフォルト設定では、PHP はアプリケーションの開発プロセス中にエラー メッセージをブラウザに出力します。このデフォルト設定は、ユーザーに次のようなセキュリティ情報を漏洩する可能性もあります。インストールパスとユーザー名。すでに開発されている Web サイトでは、エラー メッセージを無効にして、エラー メッセージをログ ファイルに出力することをお勧めします。

コードをコピーします コードは次のとおりです:

表示エラー = オフ
log_errors = オン

0x06: PHP ファイルを非表示

隠し PHP ファイルがない場合は、次のようなさまざまな方法でサーバーの PHP バージョンを取得できます。http://www.example.com/script.php?=PHPB8B5F2A0-3C92-11d3- A3A9- 4C7B08C10000

明らかに、ユーザーが Web サイトサーバーの PHP バージョンを直接取得できないようにする必要があります。幸いなことに、php.ini にはこの機能を無効にするスイッチがあります。

コードをコピー コードは次のとおりです:

Expose_php = オフ

0x07: セーフモード構成

デフォルトでは、PHP はセーフ モードで設定できます。このモードでは、Apache はファイル、環境変数、バイナリ プログラムへのアクセスを禁止します。最大の問題は、ファイルの所有者のみがアクセスできることです。このプログラムを開発するために多くの開発者が協力している場合、この設定は現実的ではありません。また、他のプログラムが PHP ファイルにアクセスできないという問題もあります。ファイルを編集する場合、次の構成により、単一ユーザーではなくユーザー グループに対するファイルのアクセス許可を変更できます。

コードをコピー コードは次のとおりです:

セーフモード = オフ
safe_mode_gid = オン

safe_mode_gid を有効にすることで、Apache を使用するこのグループは PHP ファイルにアクセスできるようになります。セーフ モードはバイナリの実行を防ぐのにも非常に効果的ですが、開発者は特定の状況下で一部のバイナリを実行できるようにしたい場合があります。これらの特殊なケースでは、バイナリ ファイルを (/var/www/binaries) などのディレクトリに配置し、次の設定を行うことができます:

コードをコピー コードは次のとおりです:

safe_mode_exec_dir = /var/www/binaries

最後に、次の設定を通じてサーバーの環境変数にアクセスし、「_」で区切られたプレフィックスを指定して、指定されたプレフィックスを持つ環境変数のみにアクセスできるようにします。

コードをコピーします コードは次のとおりです:

safe_mode_allowed_env_vars = PHP_

0x08: 特定のサフィックス

を持つファイルへのパブリック ユーザー アクセスを制限します

セキュリティ上の理由により、mysql 接続情報などの機密情報が含まれる .inc 接尾辞を持つファイルなど、特定の接尾辞名を持つ多くのファイルには、一般ユーザーはアクセスできません。すべてのユーザーがこの設定ファイルにアクセスできます。Web サイトのセキュリティを強化するには、..htaccess ファイルで次の設定を行う必要があります:

コードをコピー コードは次のとおりです:

<ファイルマッチ>
注文の許可、拒否
全員から拒否

0x09: 概要

PHP のデフォルト設定は開発者向けであり、Web サイトが多数のユーザーを対象としている場合は、PHP を再設定することをお勧めします。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。