PHP:登录后用户点击后退按钮时如何防止用户进入登录页面?

时间:2018-05-02 03:36:32

标签: php mysql login

基本上,我不希望用户在他/她成功登录系统后通过单击后退按钮来访问登录页面。

在我们下面登录check.php的代码: -

package main

import (
    "log"
    "os"
)
var (
    outfile, _ = os.Create("path/to/my.log") // update path for your needs
    l      = log.New(outfile, "", 0)
)

func main() {
    l.Println("hello, log!!!")
}

下一页:

<?php


include 'database.php'; 
session_start();                                            

if (isset ($_POST['namaPengguna']))
{                   
$kataLaluan = $_POST['kataLaluan'];
$namaPengguna = $_POST['namaPengguna'];

$query = "SELECT * FROM pengguna 
        WHERE namaPengguna='$namaPengguna' && kataLaluan = '$kataLaluan' ";

$result = $mysqli->query($query) or die($mysqli->error._LINE_);
$row = $result->num_rows; 
$info = $result->fetch_assoc(); 
$_SESSION['PenggunanoKP']=$info['PenggunanoKP'];

    if($row<1)  
    {
       header("Location:login design.php");
    }
    else{
         header("Location:pilihAction.php");
    }

}

?>

1 个答案:

答案 0 :(得分:0)

您的欢迎页面(登录后)应如下所示

Explanation :

(in my example its $_SESSION['directaccess']) 在您的主登录/登记页面上: 在调用头函数之前在$ _SESSION exit('Access Denied')中设置一个标志(成功登录欢迎页面)。 。 然后在您成功的欢迎页面上,使用上面的代码片段。检查是否设置了该标记,然后只允许访问您的页面代码action

注销按钮DECLARE @T TABLE (key_ varchar(10),Val int) INSERT INTO @T SELECT 'a' Key_, 1 Val UNION ALL SELECT 'a' k, 2 v UNION ALL SELECT 'a' k, 3 v UNION ALL SELECT 'a' k, 2 v UNION ALL SELECT 'b' k, 1 v UNION ALL SELECT 'b' k, 2 v UNION ALL SELECT 'b' k, 2 v SELECT T.key_,T.Val FROM (SELECT key_,Val,Row_Number()Over(Partition By Key_,Val Order By key_ ) Count_ FROM @T) T INNER JOIN (SELECT MAX(Count_) Count_ FROM (SELECT Row_Number()Over(Partition By Key_,Val Order By key_ ) Count_ FROM @T)X) XX ON XX.Count_ = T.Count_ 应位于同一欢迎页面上。如果单击按钮,则销毁会话,然后将标题功能调用回主登录/登录页面。