-1
A
回答
4
作为一般的经验法则,我会说最好是向用户返回一条消息,说“用户名或密码不正确”,因为如果用户名或密码错误,它不会向攻击者指出。
3
这是攻击者找到有效用户名的好方法。
要回答你的问题,我认为你必须做
SELECT username, password WHERE username=? OR password=?
,然后再通过与给定的用户名和密码的结果,要找到合适的人。
+0
请注意,您不提倡在此输入明文密码 – Gareth
0
请使用与POST方法使用HTML表单下面的代码::
<?php
$con = mysql_connect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("My_TABLE_NAME", $con);
$Username = $_POST['Username']; // get username
$Password = $_POST['Password'] ; // get pwd
$sql="SELECT Username FROM My_TABLE_NAME WHERE Username=’".$Username.”’ and Password=’”.$Password.”’”;
$r = mysql_query($sql);
if(!$r) {
$err=mysql_error();
print $err;
exit();
}
if(mysql_affected_rows()==0){
print "no such login in the system. please try again.";
exit();
}
else{
print "successfully logged into system.";
//proceed to perform website’s functionality – e.g. present information to the user
}
?>
1
$query = <<<EOL
SELECT IF(password = '$password', 1, 0)
FROM users
WHERE username='$username'
EOL;
$result = mysql_query($query)
if (mysql_numrows($result) == 0) then
echo 'Bad username';
} else {
$row = mysql_fetch_array($result);
if ($row[0] == 0) then
echo 'Bad password';
}
}
。当然,这是假定$ username和$ password已经正确转义,而$的密码已被按摩到无论使用何种散列/加密方法将其存储在数据库中。
相关问题
- 1. 个人帐户:用户名或密码不正确
- 2. 如何检查用户名和密码
- 3. 如何检查用户名和密码?
- 4. 如何检查用户是否正确书写了用户名和密码?
- 5. phpMyAdmin不正确的用户名/密码
- 6. 要说用户名或密码的HTTP状态码不正确?
- 7. 检查Windows用户名和密码在NodeJs中是否正确
- 8. 设置JDBC以检查用户名和密码是否正确
- 9. ASIHTTPRequest:检查用户名/密码是否正确
- 10. 蟒蛇smtp检查用户名和密码是否正确
- 11. RestKit如何检查错误的用户名或密码错误
- 12. RFC_ERROR_LOGON_FAILURE:姓名或密码不正确
- 13. 雅虎不正确的用户名或密码?
- 14. npm adduser不正确的用户名或密码
- 15. “用户名或密码不正确” - 获取相同信息
- 16. RDP中的用户名或密码不正确
- 17. 1.4.3不正确的用户名或密码
- 18. 如何验证localhost用户名和密码是否正确或不使用java?
- 19. 如何解决用不正确的用户名或密码显示Php?
- 20. 如何使用用户名或客户ID检索密码
- 21. 如何手动检查ldap用户的用户名和密码
- 22. 用户名/密码检查器出错
- 23. php,mysql(检查用户名和密码)
- 24. 检查用户名和密码
- 25. 检查用户名和密码输入++
- 26. 检查用户名和密码,PHP
- 27. Java用户名密码检查
- 28. 用户名和密码检查
- 29. 用户名/密码数据库检查
- 30. AJAX和PHP检查用户名密码
你已经试过了什么?你的问题太宽泛而模糊,无法正确回答。 –
你不想显示哪个不正确。你想要显示这个对是否不正确,否则你可以很容易地让攻击者找到有效的用户名。 –
我喜欢看到一个错误消息“你的密码是正确的,但你的用户名是错误的”的想法 – Gareth