-1
ユーザー名とパスワードの両方でログインページを作成したいだけでなく、セキュリティを強化するために余分なキーを追加するだけです。#PHP:mySQLi_query()内にANDを2つ使用してください
これは私がこれまでにそれを作った私のコードです:
$query = mysqli_query($connection, "Select * FROM Password WHERE (Name LIKE '%$name%' AND Pass LIKE '%$pass%') AND Key LIKE '%$key%'");
を私はName='$name'
ような構文を持つ、ともなし括弧でなく、任意の効果なしでも試してみました。
私はそれを動作させる方法はありますか?
ありがとうございます!
あなたはプレーンテキストで**パスワードを保存している**。 'Name' **に' LIKE'マッチをしています。あなたは 'password'(!!!!!)**で' LIKE'マッチをしています**;あなたのコードは** SQLインジェクション**に対して脆弱です。 ...もう1つのプレーンテキストのパスワード 'key'(別のSQL注入可能な' LIKE'クエリ!!)を追加するとセキュリティが向上すると思いますか?私はあなたが一歩踏み込んでこの作業をやり直し、パスワード/ SQLセキュリティの基本原則を読んでいく必要があると思います。 –
しかし、私は道で、パスワードとキーの両方で、私がここで言及しなかったいくつかの暗号化を使用しました...彼らはまた、mysqlの注射で浸透することができますか? –
誰かが[Robert]という名前を入力するとどうなりますか? DROP TABLEのパスワード。 --'](https://xkcd.com/327/)?あなたのコードは安全ではないので誰でもあなたのサーバ上で*任意のSQL *を実行できます。入力をサニタイズするか、プリペアドステートメントを使用します。 –