SQL インジェクションのこれらの詳細を防ぐことに問題があるのは、通常、ユーザーが送信したデータに対して必要なフィルタリングを実行していないプログラマであり、そのため、データベースがテストされるとすぐに壊れてしまいます。ユーザーがセキュリティ設定を行わずにログインした場合に発生する可能性のある SQL インジェクション手法を紹介します。
たとえば、次のログイン コード:
リーリー
上記の SQL ステートメントには大きなセキュリティ リスクがあるため、次のユニバーサル パスワードとユニバーサル ユーザー名を使用すると、簡単にページにアクセスできます。
リーリー
明らかに、この SQL ステートメントのユニバーサル パスワードは次のとおりです: ***" または 1 = "1
リーリー
スラッシュ * は、以下が実行されないことを意味します。MySQL はユニオン クエリをサポートしているため、すべてのデータを直接クエリできます。そのため、この SQL ステートメントのユニバーサル ユーザー名は次のとおりです: ***" Union select * from users/*
ただし、次の場合、このインジェクションはコード内の SQL ステートメントのみをターゲットとします。
リーリー
少なくとも上記の注入は機能しなくなりましたが、方法は同じです;
PDO を使用すると、SQL インジェクションを完全に回避でき、急速な開発とフレームワークが蔓延するこの時代では、SQL インジェクションの問題について深く考える必要はありません。
SQLの登録を防ぐ2つの関数を紹介します
リーリー
こんなことを書いているブログもあります
リーリー
http://www.bkjia.com/PHPjc/824734.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/824734.html技術記事 SQL インジェクションのこれらの詳細を防ぐのに問題がある人は、通常、ユーザーが送信したデータに対して必要なフィルタリングを実行していないため、不注意なプログラマーまたは初心者のプログラマーです。