我有这个HTML格式:
<form action="seite2.php" method="post">
Benutzername:<br />
<input type="Text" name="username"><br /><br />
Passwort:<br />
<input type="Password" name="passwort" />
<input type="Submit" value="Absenden" />
</form>
在seite2.php上我先得到这个代码,检查哈希值:
$username = $_POST["username"];
$passwort = $_POST["passwort"];
$pass = sha1($passwort);
echo $pass;
然后,我想检查用户名或密码是否正确并比较哈希值。让我们说用户名是:mue。密码是:通过。我得到这个哈希:da39a3ee5e6b4b0d3255bfef95601890afd80709。
if($username == "mue" AND $pass=="da39a3ee5e6b4b0d3255bfef95601890afd80709")
{
echo '<p>';
echo "Herzlich Willkommen";
echo '</p>';
}
else
{
echo '<p>';
echo "Login failed";
echo '</p>';
但在我的浏览器中,我得到以下响应:da39a3ee5e6b4b0d3255bfef95601890afd80709登录失败。
无论我使用哪个用户或密码,从浏览器返回的哈希都是一样的。
代码没问题,我尝试并且工作但是“传递”的sha1是:
9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684
也许你修改了更糟糕的文件。看你的编辑器,看看你是否改变了正确的“seite2.php”。如果您更改此文件的路径位置,则旧文件可能仍保留在IDE中,您可以编辑此文件而不是新文件。