ホームページ  >  記事  >  バックエンド開発  >  SQLインジェクションについての質問です。

SQLインジェクションについての質問です。

WBOY
WBOYオリジナル
2016-06-13 13:10:161050ブラウズ

SQL インジェクションについてアドバイスを求めています
この投稿を読みました
http://topic.csdn.net/u/20121011/08/ed0d9538-0ed1-49c4-95c3-0fc1ef686aa2.html

ログイン コードは次のとおりです。

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
$sql="select * from users where username='$username' and password='$password'";

後で、彼の方法によれば、ユーザー名が次の場合、パスワードをバイパスしてログインを正常に送信することが確かに可能です。知られています。

しかし、彼のメソッドはまず、基本条件である get_magic_quotes_gpc フィルタリングがオフになっているという条件を満たします。

すると、彼のログイン コードはあまりにも後回しすぎるようです。たとえば、私のログイン認証は通常次のように記述されています。
PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$username = $_REQUEST['username'];
$password = md5($_REQUEST['password']);//改了这行
$sql="select * from users where username='$username' and password='$password'";
この方法でフォームを送信して得られる $sql は次のようになります:
Select * from users where username='sean' and password='7e2705cbd698f255b7fe11eff40de898'


この場合はどうすればよいでしょうか?注射はどうでしょうか?


-----解決策--------- $username もありませんか?なぜ $password でなければならないのですか

magic_quotes_gpc = on である限り、これらの幼稚な攻撃はすぐに無効になります
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。