ホームページ >バックエンド開発 >PHPチュートリアル >PHP インジェクションの防止と開発セキュリティの詳細な分析_PHP チュートリアル
1. PHP インジェクションの基本原則
プログラマーのレベルや経験にもばらつきがあり、コードを記述する際にユーザー入力データの正当性を判断しないため、アプリケーションにセキュリティリスクが存在しません。ユーザーはデータベースにクエリコードを送信し、プログラムから返された結果に基づいて知りたいデータを取得することができます。これがいわゆる SQL インジェクション、つまり SQL インジェクションです。 影響を受けるシステム: 入力パラメーターのチェックとフィルターを行わないシステム
SQL インジェクション プロセス
通常、次のようなアドレスを通じていくつかの必要なパラメーターを受け取ります。
ページでは、SQL ステートメントに書き込むために 2 を使用します。
通常の状況: id=2 のテーブルから * を選択
bkJia.php?id=2
SQL ステートメントに精通している場合は、2 を必要な SQL ステートメントに置き換えることができることがわかります
例: and は存在します (管理者から ID を選択します)
2. インジェクションを防ぐいくつかの方法
実際、次のような一般的なキーワードと一致をフィルタリングする必要があることがわかりました。
選択、挿入、更新、削除、* など
例:
3. PHP の他の場所のセキュリティ設定
register_globals = Off オフに設定します
SQL ステートメントを作成するときは、小さな引用符と一重引用符を省略しないようにしてください
$_POST $_GET $_SESSION を正しく使用してパラメータを受け入れ、フィルタリングします
。