加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、云开发、数据分析、内容创作、业务安全!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何禁止未注册用户直接跳转到 php后台查看

发布时间:2023-06-17 10:33:03 所属栏目:PHP教程 来源:网络
导读:   为大家详细介绍“php如何禁止未登录用户直接跳转访问后台”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何禁止未登录用户直接跳转访问后台”文章能帮助大
  为大家详细介绍“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['username']==$username && $_POST['password']==$password)
 
  {
 
    $_SESSION['username']=$username;//将用户名存入内存中
 
    $_SESSION['password']=$password;//将密码存入内存中
 
    header("Location: admin.php");//跳转到后台页面
 
    exit();
 
  }
 
  ?>
 
  二、实现禁止未登录用户直接访问后台的功能
 
  实现禁止未登录用户直接访问后台的功能,需要在后台页面中判断是否已经登陆。可以在后台页面的头部加上以下代码:
 
  <?php
 
  session_start();
 
  if(!isset($_SESSION['username'])||!isset($_SESSION['password']))
 
  {
 
      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['username']==$username && $_POST['password']==$password)
 
  {
 
    $_SESSION['username']=$username;
 
    $_SESSION['password']=$password;
 
    header("Location: admin.php");//跳转到后台页面
 
    exit();
 
  }
 
  ?>
 
  <?php
 
  //admin.php 后台页面
 
  session_start();
 
  if(!isset($_SESSION['username'])||!isset($_SESSION['password']))
 
  {
 
      header("Location: login.php");//跳转到登陆页面(也可自定义其他跳转页面)
 
      exit();
 
  }
 
  session_regenerate_id(true);// 更新 session_id
 
  ?>
 

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章