Проблемы с паролем PHP - PullRequest
       8

Проблемы с паролем PHP

0 голосов
/ 01 декабря 2011

У меня есть файл на моем сервере с именем "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 ]

4 голосов
/ 01 декабря 2011

Вам необходимо получить к нему доступ через $text, так как эта переменная вы определили:

$text=$_GET["password13"];

// use $text, not $password13
if($text=="test")
{
    echo $right;
}
else
{
    echo $wrong;
}
3 голосов
/ 01 декабря 2011
if ($text == "test") 
   echo $right;
else
   echo $wrong;

Измените свой код на этот.Ваша переменная $ password13 не определена

1 голос
/ 01 декабря 2011

Никогда не используйте параметры $ _GET для конфиденциальных данных, таких как пароли и т. Д., Они хранятся в кэше браузера, журналах сервера и представляют огромную угрозу безопасности.

Используйте $ _POST, как Jakub написал для вас выше.

1 голос
/ 01 декабря 2011

Я бы изменил вашу форму так, чтобы она передавалась как минимум как 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 при сравнении значения пароля.

1 голос
/ 01 декабря 2011

проверка на $ test, так как $ password13 не существует: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...