首頁  >  文章  >  後端開發  >  php怎麼禁止未登入使用者直接跳轉訪問後台

php怎麼禁止未登入使用者直接跳轉訪問後台

PHPz
PHPz原創
2023-03-23 14:11:021679瀏覽

在使用 PHP 開發網站時,保障使用者資訊安全是非常重要的任務。其中之一就是禁止未登入使用者直接跳轉後台,以防止非法操作,資訊外洩等問題。本文將介紹如何採用 PHP 編碼實作禁止未登入使用者直接存取背景的功能。

一、session 實現登陸

為了保障用戶資訊安全,在網站開發中常常採用session 儲存用戶的基本信息,包括用戶ID、用戶名、密碼等等,使用session 登入還能有效防止一些網站安全問題,讓網站運作更穩定、更安全。

session 是一種在伺服器端儲存和存取資訊的技術,其優勢在於可以儲存和使用非常靈活。在PHP 中,使用session 需要開啟session 開關並設定session save_path,在登陸後使用session_register() 函數將使用者資訊儲存到session 中,程式碼實作如下:

<?php
session_start();
$username="admin";//定义用户名
$password="123456";//定义密码
if($_POST[&#39;username&#39;]==$username && $_POST[&#39;password&#39;]==$password)
{
  $_SESSION[&#39;username&#39;]=$username;//将用户名存入内存中
  $_SESSION[&#39;password&#39;]=$password;//将密码存入内存中
  header("Location: admin.php");//跳转到后台页面
  exit();
}
?>

二、實作禁止未登入使用者直接存取後台的功能

實作禁止未登入使用者直接存取背景的功能,需要在背景頁面中判斷是否已登陸。可以在後台頁面的頭部加上以下程式碼:

<?php
session_start();
if(!isset($_SESSION[&#39;username&#39;])||!isset($_SESSION[&#39;password&#39;]))
{
    header("Location: index.php");//跳转到登陆页面(也可自定义其他跳转页面)
    exit();
}
?>

程式碼解釋:先啟用 session,然後判斷是否有使用者已經登錄,如果沒有則直接跳回登陸頁面,並登出 PHP 執行。

為了更好的資訊安全性,建議在 session_start() 後設定 session_regenerate_id() 函數來更新 session_id,以增強網站的安全性。

三、完整範例程式碼

以下是完整的禁止未登入使用者直接存取後台的範例程式碼,可供參考:

<?php
//login.php 登陆页面
session_start();
$username="admin";//定义用户名
$password="123456";//定义密码
if($_POST[&#39;username&#39;]==$username && $_POST[&#39;password&#39;]==$password)
{
  $_SESSION[&#39;username&#39;]=$username;
  $_SESSION[&#39;password&#39;]=$password;
  header("Location: admin.php");//跳转到后台页面
  exit();
}
?>

<?php
//admin.php 后台页面
session_start();
if(!isset($_SESSION[&#39;username&#39;])||!isset($_SESSION[&#39;password&#39;]))
{
    header("Location: login.php");//跳转到登陆页面(也可自定义其他跳转页面)
    exit();
}

session_regenerate_id(true);// 更新 session_id
?>

總之,以上方法都是保護網站資訊安全的有效方式,但也存在一些風險,特別是使用session 時,需加倍小心,避免用戶資訊外洩等問題。

以上是php怎麼禁止未登入使用者直接跳轉訪問後台的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn