溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php如何禁止未登錄用戶直接跳轉(zhuǎn)訪問(wèn)后臺(tái)

發(fā)布時(shí)間:2023-03-23 14:48:18 來(lái)源:億速云 閱讀:137 作者:iii 欄目:編程語(yǔ)言

本文小編為大家詳細(xì)介紹“php如何禁止未登錄用戶直接跳轉(zhuǎn)訪問(wèn)后臺(tái)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“php如何禁止未登錄用戶直接跳轉(zhuǎn)訪問(wèn)后臺(tái)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

一、session 實(shí)現(xiàn)登陸

為了保障用戶信息安全,在網(wǎng)站開發(fā)中常常采用 session 儲(chǔ)存用戶的基本信息,包括用戶 ID、用戶名、密碼等等,使用 session 登錄還能有效防止一些網(wǎng)站安全問(wèn)題,讓網(wǎng)站運(yùn)行更加穩(wěn)定和安全。

session 是一種在服務(wù)器端儲(chǔ)存和訪問(wèn)信息的技術(shù),其優(yōu)勢(shì)在于可以儲(chǔ)存和使用非常靈活。在 PHP 中,使用 session 需要打開 session 開關(guān)并設(shè)置 session save_path,在登陸后使用 session_register() 函數(shù)將用戶信息儲(chǔ)存到 session 中,代碼實(shí)現(xiàn)如下:

<?php
session_start();
$username="admin";//定義用戶名
$password="123456";//定義密碼
if($_POST['username']==$username && $_POST['password']==$password)
{
  $_SESSION['username']=$username;//將用戶名存入內(nèi)存中
  $_SESSION['password']=$password;//將密碼存入內(nèi)存中
  header("Location: admin.php");//跳轉(zhuǎn)到后臺(tái)頁(yè)面
  exit();
}
?>

二、實(shí)現(xiàn)禁止未登錄用戶直接訪問(wèn)后臺(tái)的功能

實(shí)現(xiàn)禁止未登錄用戶直接訪問(wèn)后臺(tái)的功能,需要在后臺(tái)頁(yè)面中判斷是否已經(jīng)登陸??梢栽诤笈_(tái)頁(yè)面的頭部加上以下代碼:

<?php
session_start();
if(!isset($_SESSION['username'])||!isset($_SESSION['password']))
{
    header("Location: index.php");//跳轉(zhuǎn)到登陸頁(yè)面(也可自定義其他跳轉(zhuǎn)頁(yè)面)
    exit();
}
?>

代碼解釋:首先啟用 session,然后判斷是否有用戶已經(jīng)登錄,如果沒(méi)有則直接跳轉(zhuǎn)回登陸頁(yè)面,并退出 PHP 運(yùn)行。

為了更好的信息安全性,建議在 session_start() 后設(shè)置 session_regenerate_id() 函數(shù)來(lái)更新 session_id,以增強(qiáng)網(wǎng)站的安全性。

三、完整示例代碼

下面是完整的禁止未登錄用戶直接訪問(wèn)后臺(tái)的示例代碼,可供參考:

<?php
//login.php 登陸頁(yè)面
session_start();
$username="admin";//定義用戶名
$password="123456";//定義密碼
if($_POST['username']==$username && $_POST['password']==$password)
{
  $_SESSION['username']=$username;
  $_SESSION['password']=$password;
  header("Location: admin.php");//跳轉(zhuǎn)到后臺(tái)頁(yè)面
  exit();
}
?>

<?php
//admin.php 后臺(tái)頁(yè)面
session_start();
if(!isset($_SESSION['username'])||!isset($_SESSION['password']))
{
    header("Location: login.php");//跳轉(zhuǎn)到登陸頁(yè)面(也可自定義其他跳轉(zhuǎn)頁(yè)面)
    exit();
}

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

讀到這里,這篇“php如何禁止未登錄用戶直接跳轉(zhuǎn)訪問(wèn)后臺(tái)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI