2017-11-06 5 views
-3

パスワードがパスワード機能で暗号化されている私のdb内にusersテーブルがあります。ログインシステムを作成したいのですが、how.Iを理解できません。このようなものを使用することができます。PHPハッシュされたパスワードを確認

SELECT `username`,`password` 
FROM `users` 
WHERE `username` = $user 
AND `password` = PASSWORD($password) 

しかし、私は私のコードは、この

$sql = "SELECT * FROM users WHERE username=? AND 
password=?"; 
//..... 
$stmt = $mysqli->prepare($sql); 
$stmt->bind_param("ss", $u,$p); 

のように任意のアイデアを見えるように、準備されたステートメントを使用したいですか?

+0

。 –

+0

*** PHPの[組み込み関数](http://jayblanchard.net/proper_password_hashing_with_PHP.html)***を使用してパスワードセキュリティを処理してください。 5.5より小さいPHPバージョンを使用している場合、 'password_hash()' [互換パック](https://github.com/ircmaxell/password_compat)を使用することができます。 ***ハッシュする前に[パスワードをエスケープする](http://stackoverflow.com/q/36628418/1011527)***または他のクレンジングメカニズムを使用する必要はありません。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –

答えて

1

次のようなSQLクエリ内のパスワード機能を使用することができます:あなたは本当に ``(「こんにちは」)PASSWORDを選択し、このクエリを実行しようとし、その後 `MySQLのPASSWORD`を使用したい場合は

$sql = "SELECT * FROM users WHERE username=? AND 
password=PASSWORD(?)"; 
//..... 
$stmt = $mysqli->prepare($sql); 
$stmt->bind_param("ss", $u,$p); 
関連する問題