簡體   English   中英

登錄/注銷無法正常工作的PHP

[英]login/logout not working php properly

<?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新手。 登錄后,我的腳本將執行三個功能-所有功能都在工作,但注銷也失敗。

我對此很堅持,我需要為已經逾期一天的項目提交此文件,因此任何幫助將不勝感激!

您可以使用錯誤的憑據登錄,因為PHP不會在單引號字符串中擴展變量。 您需要使用:

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

要么

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

簡化示例: https//3v4l.org/mu9Pm

ETA注銷:您的html包含一個鏈接到單獨腳本(logout.php)的按鈕。 您需要將會話ID傳遞到該文件( 在此處了解更多信息 ),然后銷毀該會話。

如果$ _SESSION [“ user”] =“ null”; ...在您發布的代碼中應該將用戶注銷。 沒有。 當提供了正確的密碼並且根本沒有連接到按鈕時,我就執行了。

注銷腳本工作后,您可以並且應該考慮CSRF,但是我認為這是以后的想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM