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

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

z老师
Freigeben: 2020-07-31 14:08:23
Original
1682 Leute haben es durchsucht

详解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 "非法访问,请输入用户名和密码";
 }
}
?>
Nach dem Login kopieren

登录信息处理页面: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();
}
?>
Nach dem Login kopieren

后台文件:admin.php

代码如下:

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

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

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage