ホームページ > バックエンド開発 > PHPチュートリアル > SQLインジェクションについての質問です。

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

WBOY
リリース: 2016-06-13 13:10:16
オリジナル
1078 人が閲覧しました

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 である限り、これらの幼稚な攻撃はすぐに無効になります
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート