ホームページ > バックエンド開発 > PHPチュートリアル > PHP ログインプロセス中の SQL インジェクションを防ぐ方法の簡単な分析_PHP チュートリアル

PHP ログインプロセス中の SQL インジェクションを防ぐ方法の簡単な分析_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:26:21
オリジナル
926 人が閲覧しました

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

tru​​ehttp://www.bkjia.com/PHPjc/824734.html技術記事 SQL インジェクションのこれらの詳細を防ぐのに問題がある人は、通常、ユーザーが送信したデータに対して必要なフィルタリングを実行していないため、不注意なプログラマーまたは初心者のプログラマーです。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート