ホームページ  >  記事  >  バックエンド開発  >  PHP および SQL インジェクション攻撃 [1]_PHP チュートリアル

PHP および SQL インジェクション攻撃 [1]_PHP チュートリアル

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

Haohappy
http://blog.csdn.net/Haohappy2004

SQL インジェクション攻撃は、ハッカーが Web サイトを攻撃するために使用する最も一般的な方法です。サイトで厳密なユーザー入力検証が使用されていない場合、SQL インジェクション攻撃に対して非常に脆弱になります。 SQL インジェクション攻撃は通常、不正なデータやクエリ ステートメントをサイト データベースに送信することによって実行され、データベース内のレコードが公開、変更、または削除される可能性があります。 SQL インジェクション攻撃がどのように実装されるか、そしてそれを防ぐ方法について話しましょう。

次の例を見てください:

//想定入力
$name = "ilia'; DELETE FROM users;";
mysql_query("SELECT * FROM users WHERE name='{$name}'");明らかに、データベースによって実行された最後のコマンドは次のとおりです:

SELECT * FROM users WHERE name=ilia; DELETE FROM users


これはデータベースに悲惨な結果をもたらしました - すべてのレコードが削除されました。

ただし、使用しているデータベースが MySQL の場合、幸いなことに、mysql_query() 関数ではそのような操作を直接実行することはできません (複数のステートメントの操作を 1 行で実行することはできません)。安心してください。使用しているデータベースが SQLite または PostgreSQL で、そのようなステートメントをサポートしている場合は、悲惨な結果に直面することになります。



http://www.bkjia.com/PHPjc/318374.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/318374.html技術記事 Haohappy http://blog.csdn.net/Haohappy2004 SQL インジェクション攻撃は、ハッカーが Web サイトを攻撃するために使用する最も一般的な方法です。サイトが厳密なユーザー入力検証を使用していない場合、次のような影響を受けやすくなります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。