0

こんにちは、古い md5 パスワード暗号化ページよりも安全であることを期待して、データベース用の新しいログイン システムを作成する作業を行っています。それに使用するつもりです...主に、この部分のセキュリティを改善するためにできること、またはすべきことがある場合...どうもありがとう...

$sql="SELECT * FROM `users` WHERE username='$user'";
$result=mysql_query($sql);


while($rows=mysql_fetch_array($result)){
$salt=$rows['salt'];
$site_key=$rows['site_key'];
}

      function hash_password($salt,$pass,$site_key) {
  global $site_key;
  return hash_hmac('sha512',$pass . $salt, $site_key);
}
$password=hash_password();
$hashed= mysql_real_escape_string($password);
4

2 に答える 2

0

$user逃げられたらいいのに?とにかく、を使用する代わりにPDOまたはMySQLiに切り替えてmysql_ください。

パスワードのハッシュについては、SHA-512などを使用しないでください。それらはあまりにも速く計算される可能性があります。私はbcryptをお勧めします:

function hash_password($password, $salt) {
    return crypt($password, '$2y$11$' . $salt);
}
于 2012-08-28T00:53:56.440 に答える
0

$sql="SELECT * FROMユーザーWHERE username='$user'";この部分はSQLインジェクションに開かれています。PDOやMySQLiのようなものを使用してください

于 2012-08-28T00:54:09.353 に答える