セキュリティで保護されたユーザ名を書くには& PHPでパスワードを確認しますか?SQLインジェクションを防ぐためにPHPで安全なユーザー名とパスワードの検証を書くには?
パスワード($ pass)にMD5を使用し、ユーザー名($ name)に文字列を使用し、このコードをPHPでユーザーアカウントの確認用に記述します。
$post_vars = $_POST;
if (isset($post_vars['name']))
{
$name = $post_vars['name'];
$pass = md5($post_vars['pass']);
$dbConn = db_open();
$sql = "select `password` from `user_table` where `user_name` = '$name' limit 1;";
echo $sql;
$sth = $dbConn->prepare($sql);
$sth->execute();
$row = $sth->fetch();
if ($row !== false)
{
$verify = $row['password'];
if ($pass == $verify)
{
$_SESSION['isLoggedIn'] = true;
header('Location: ' . _DEBUG_URL_);
}
else $iframeURL = _LIB_URL_ . 'accessdenied.htm';
}
else echo 'No results found!';
}
このクエリはSQLインジェクションの方法でハック可能ですか?どのようにハッキングできますか?私はPDOをMySQLに使用しています。
"select `password` from `user_table` where `user_name` = '$name' limit 1;"
また 'の代わりに' md5'のパスワードhashing'を使用しています。正しい方法で 'prepare'も使用していません –
ダイへの生き方として、パスワードハッシングを使用しました!あなたはGoogleの "md5"の亀裂があり、簡単にmd5のハッシュをクラックすることができます。 – bedtime21
私はそれが私の質問は安全でないかどうかを知りたいのですか? –