ホームページ  >  記事  >  バックエンド開発  >  PHP_PHPチュートリアルの5つのセキュリティ対策のまとめ

PHP_PHPチュートリアルの5つのセキュリティ対策のまとめ

WBOY
WBOYオリジナル
2016-07-21 15:17:47683ブラウズ

開発者、データベースアーキテクト、システム管理者はすべて、PHP アプリケーションをサーバーに展開する前に予防措置を講じる必要があります。ほとんどの予防策は、数行のコードまたはアプリケーション設定のわずかな調整で実現できます。

#1: インストールスクリプトを管理する

開発者がサードパーティアプリケーション用の一連の PHP スクリプトをインストールしている場合、このスクリプトはアプリケーション全体の動作コンポーネントをインストールし、アクセス ポイントを提供するために使用されます。ほとんどのサードパーティ パッケージでは、インストール後にこのディレクトリに含まれるインストール スクリプトを削除することをお勧めします。ただし、インストール スクリプトを保持したい開発者は、ディレクトリへの管理アクセスを制御する .htaccess ファイルを作成できます。

AuthType Basic

AuthName “Administrators Only”

AuthUserFile /usr/local/apache/passwd/passwords

Require valid-user

保護されたディレクトリにアクセスしようとする権限のないユーザーは、次のことを求めるプロンプトが表示されます。ユーザー名とパスワード。パスワードは、指定された「パスワード」ファイル内のパスワードと一致する必要があります。

#2: ヘッダー ファイル

多くの場合、開発者はアプリケーション全体に分散されている複数のスクリプトを 1 つのスクリプトに含めることができます。これらのスクリプトには、個々のファイルを元のページのコードに統合する「include」ディレクティブが含まれます。 「インクルード」ファイルにユーザー名、パスワード、データベース アクセス キーなどの機密情報が含まれている場合、ファイルには通常の「.inc」拡張子ではなく「.php」拡張子が必要です。 「.php」拡張子により、PHP エンジンがファイルを処理し、不正なアクセスが防止されます。

#3: MD5 vs. SHA

場合によっては、ユーザーが独自のユーザー名とパスワードを作成することになり、サイト管理者はフォームから送信されたパスワードを暗号化してデータベースに保存することがよくあります。以前は、開発者は MD5 (メッセージ ダイジェスト アルゴリズム) 関数を使用して 128 ビット文字列のパスワードを暗号化していました。現在、多くの開発者は SHA-1 (セキュア ハッシュ アルゴリズム) 関数を使用して 160 ビット文字列を作成しています。

#4: 自動グローバル変数

php.ini ファイルに含まれる設定は「register_globals」と呼ばれます。 P サーバーは、register_globals 設定に基づいて、サーバー変数とクエリ文字列のグローバル変数を自動的に作成します。 Joomla や Drupal などのコンテンツ管理ソフトウェアなどのサードパーティ ソフトウェア パッケージをインストールする場合、インストール スクリプトはユーザーに register_globals を「オフ」に設定するように指示します。設定を「オフ」に変更すると、権限のないユーザーが変数名を推測したりパスワードを確認したりしてデータにアクセスできなくなります。

#5: 変数と値を初期化する

多くの開発者は、時間の制約による気晴らしや労力の不足により、値を割り当てずに変数をインスタンス化するという罠に陥っています。認証プロセス中の変数には、ユーザーのログインプロセスが開始される前に値が設定されている必要があります。この簡単な手順により、ユーザーが検証プロセスをバイパスしたり、権限のないサイトの特定の領域にアクセスしたりすることを防ぎます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/325623.html技術記事開発者、データベースアーキテクト、システム管理者はすべて、PHP アプリケーションをサーバーに展開する前に予防措置を講じる必要があります。ほとんどの予防策は、数行のコードまたは適用によって実装できます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。