2017-02-12 14 views
0
<?php 
    session_start();  
?> 
<!DOCTYPE html> 
<html> 
<body> 

<?php 
$user='hassan'; 
$apple ="6217c55b626e7477b972034993b40a29"; 
$salt="231**6"; 
$uname= $_POST["uname"]; 
$pas= $_POST["psw"]; 
$token1= hash("ripemd128", '$salt$pas'); 
if($token1===$apple && $user===$uname) 
{ 
    $_SESSION["user"]= $user; 
    echo $_SESSION["user"]; 
    if ($_SESSION["user"] == $user && $token1===$apple) 
    { 
    echo "Welcome ".$_SESSION["user"]; 
    } 
?> 
<h1>you are logged in</h1> 
<form action="inbox.php" class="boxed" style ="border: 4px solid black ; text-align: center; method="post"> 
<h1><b>Check inbox :</b></h1> 
<input type="submit" class="button" value="Inbox" style =" background-color: grey; 
    border: none; 
    color: white; 
    padding: 15px 70px; 
    margin: 15px 0px; 
    cursor: pointer;"><br><br> 
</form> 

    <form action="add.php"class="boxed" style ="border: 4px solid black ; text-align: center; method="post"> 
<h1><b>ADD propert :</b></h1> 
<input type="submit" value="ADD" style =" background-color: grey; 
    border: none; 
    color: white; 
    padding: 15px 70px; 
    margin: 15px 0px; 
    cursor: pointer;"> 
</form> 

<form action="logout.php" class="boxed" style ="border: 4px solid black ; text-align: center; method="post"> 
<h1>logout here</h1> 
<input type="submit" class="button" value="Logout" style =" background-color: grey; 
    border: none; 
    color: white; 
    padding: 15px 70px; 
    margin: 15px 0px; 
    cursor: pointer;"> 

</form> 

<?php 

$_SESSION["user"]= "null"; 
$token=null; 
$user=null; 
    } 
    else 
    { 
?> 
<h1>You entered wrong details please enter again</h1> 
<a href="admin.html">try again</a> 

<?php 
    } 
    ?> 
</body> 
</html> 

У меня возникла проблема с входом и выходом из системы. Сеанс поддерживается, но он все еще регистрирует меня с неправильными деталями. Я использовал хэш и соль для шифрования пароля, а затем сохранил его в переменной apple. Извините за мой бедный отступ; Я новичок в PHP. После входа в систему мой скрипт выполнит три функции - все работают, но выход из системы также не работает.login/logout не работает php правильно

Я застрял в этом, и мне нужно представить это для проекта, который уже просрочен, поэтому любая помощь будет принята с благодарностью!

+0

Как вы входите в систему с неправильными данными? Этот код предназначен только для одного пользователя. – Rager

ответ

0

Вы можете войти с неправильными учетными данными, потому что PHP не расширяет переменные в одинарных кавычках. Вы должны использовать:

hash("ripemd128", "$salt$pas"); 

или

hash("ripemd128", $salt.$pas); 

упрощенный пример: https://3v4l.org/mu9Pm

ETA выхода из системы: Ваш HTML содержит кнопку, которая связана с отдельным сценарием (logout.php). Вам необходимо передать идентификатор сеанса в этот файл (далее here) и уничтожить сеанс.

Если $ _SESSION ["user"] = "null"; ... в коде, который вы опубликовали, предполагается вывести пользователя из системы. Это не так. Я выполняю выполнение, когда предоставлен правильный pwd, и он вообще не подключен к кнопке.

После того, как скрипт logout работает, вы можете и должны подумать о CSRF, но я думаю, что это мысль позже.

+0

да, что вы предлагаете выйти из системы –

+0

спасибо за помощь и предложите, как я могу закончить сеанс при выходе из системы! –

+0

Выход не работает –

 Смежные вопросы

  • Нет связанных вопросов^_^