PHP密码问题

时间:2011-12-01 17:01:59

标签: php passwords

我的服务器上有一个名为“pform.php”的文件,这就是它的样子:

<form action="password.php" method="get">
<input type="text" name="password13"/>
<input type="submit" value="Submit!"/>
</form>

我将它转移到另一个名为“password.php”的文件中,这就是它的样子:

<?php

$text=$_GET["password13"];
$right="You entered the right password!";
$wrong="You entered the wrong password!";

if($password13=="test")
{
    echo $right;
}
else
{
    echo $wrong;
}
?>

当我输入正确的密码时,它会返回false。

我可以更改它,以便在插入正确的密码时返回true?

5 个答案:

答案 0 :(得分:4)

您需要通过$text访问它,因为这是您定义的变量:

$text=$_GET["password13"];

// use $text, not $password13
if($text=="test")
{
    echo $right;
}
else
{
    echo $wrong;
}

答案 1 :(得分:3)

if ($text == "test") 
   echo $right;
else
   echo $wrong;

将您的代码更改为此。您的$ password13变量未定义

答案 2 :(得分:1)

检查$ test,因为$ password13不存在: - )

答案 3 :(得分:1)

我会更改您的表单,使其至少提交为POST,并通过输入“密码”来掩盖密码

<form action="password.php" method="post">
<input type="password" name="password13"/>
<input type="submit" value="Submit!"/>
</form>

然后像这样引用变量:

<?php

$text=$_POST["password13"];
$right="You entered the right password!";
$wrong="You entered the wrong password!";
...

请记住在比较密码值时引用$text

答案 4 :(得分:1)

永远不要对密码等敏感数据使用$ _GET参数,它们存储在浏览器缓存,服务器日志中,存在巨大的安全风险。

使用$ _POST,就像Jakub为你写的那样。