Home > Backend Development > PHP Tutorial > 详解php中使用session防止用户非法登录后台的方法

详解php中使用session防止用户非法登录后台的方法

z老师
Release: 2020-07-31 14:08:23
Original
1682 people have browsed it

详解php中使用session防止用户非法登录后台的方法

一般来说,我们登录网站后台时,服务器会把登录信息保存到session文件里,并通过读取session文件来判断是否可以进行后台操作。

以下面为例,假如admin.php是我们的后台操作页面,如果没有启用 session,那么,即便是没有登录,用户照样能访问到该页面,这时候,就需要用到 session 来防止用户非法登录到这个页面了。下面是三个文件的代码

登录页面:login.php

代码如下:

<h2>用户登录页面</h2>
<form action="loginProcess.php" method="post">
用户名:<input type="text" name="username"><br />
密  码:<input type="password" name="pwd"><br />
<input type="submit" name="sub" value="登录后台">
</form>
<?php
if(!empty($_GET[&#39;errno&#39;])){
 if($_GET[&#39;errno&#39;]==1){
  echo "用户名或密码错误";
 }else if($_GET[&#39;errno&#39;]==2){
  echo "请输入用户名密码";
 }else if($_GET[&#39;errno&#39;]==3){
  echo "非法访问,请输入用户名和密码";
 }
}
?>
Copy after login

登录信息处理页面:loginProcess.php

代码如下:

<?php
//这里主要讲session,关于登录信息验证,就不涉及到数据库了
//接收登录信息,保存session
if(!empty($_POST[&#39;sub&#39;])){
 if($_POST[&#39;username&#39;]=="admin" && $_POST[&#39;pwd&#39;]=="admin"){
  echo "登录成功";
  session_start();//开启session
  $_SESSION[&#39;username&#39;] = $_POST[&#39;username&#39;];//将登录名保存到session中
  header("Location: admin.php");
  exit();
 }else{
  header("Location: login.php?errno=1");
  exit();
 }
}else{
 header("Location: login.php?errno=2");
 exit();
}
?>
Copy after login

后台文件:admin.php

代码如下:

<?php
session_start();
if(empty($_SESSION[&#39;username&#39;])){
 header("Location: login.php?errno=3");
 exit();
}
echo "你是管理员,你现在拥有后台管理权限";
?>
Copy after login

相关专题推荐php session (包含图文、视频、案例)

Related labels:
source:jb51.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template