2012-05-09 39 views
1

ユーザがパスワードを変更できるようにしようとしています。mysqlのphpパスワードの更新

ユーザー名とパスワードがファイル内に残っていて、パスワードが正しく読み取れない可能性があります。おそらくmd5暗号化のためです。私のSQLクエリにエラーはありますか?

$query = "SELECT * FROM users WHERE name='$e' AND pass='".md5($p)."'"; 
    $result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 
    $num = mysql_num_rows($result); 
+1

いいえ、SQLにエラーはありません。ユーザーのパスワードを回復しようとしている場合、あなたは正しいです - 'md5'を使うとそれは不可能になります(しかし、とにかくあなたは* roがユーザーのパスワードを回復しないようにします - もしそれらを忘れてしまったら代わりに新しいものを設定する)。 – eggyal

答えて

3

連結でクエリを構築する代わりに、PHP Data Objects (PDO)を使用する必要があります。

あなたのエラーを修正するだけでなく、現在のSql Injectionの脆弱性も修正されます。

+0

これは良い提案です。私はそれを試みます。 – user1212143