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

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

WBOY
WBOYオリジナル
2016-07-13 10:26:21899ブラウズ

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 インジェクションのこれらの詳細を防ぐのに問題がある人は、通常、ユーザーが送信したデータに対して必要なフィルタリングを実行していないため、不注意なプログラマーまたは初心者のプログラマーです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。