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


Posted in PHP onJanuary 27, 2015

本文实例讲述了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['errno'])){

 if($_GET['errno']==1){

  echo "用户名或密码错误";

 }else if($_GET['errno']==2){

  echo "请输入用户名密码";

 }else if($_GET['errno']==3){

  echo "非法访问,请输入用户名和密码";

 }

}

?>

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

<?php

//这里主要讲session,关于登录信息验证,就不涉及到数据库了

//接收登录信息,保存session

if(!empty($_POST['sub'])){

 if($_POST['username']=="admin" && $_POST['pwd']=="admin"){

  echo "登录成功";

  session_start();//开启session

  $_SESSION['username'] = $_POST['username'];//将登录名保存到session中

  header("Location: admin.php");

  exit();

 }else{

  header("Location: login.php?errno=1");

  exit();

 }

}else{

 header("Location: login.php?errno=2");

 exit();

}

?>

后台文件:admin.php

<?php

session_start();

if(empty($_SESSION['username'])){

 header("Location: login.php?errno=3");

 exit();

}

echo "你是管理员,你现在拥有后台管理权限";

?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
我的论坛源代码(一)
Oct 09 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
php利用cookie实现访问次数统计代码
May 19 PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
关于初学PHP时的知识积累总结
Jun 07 PHP
php向js函数传参的几种方法
Aug 10 PHP
php强制用户转向www域名的方法
Jun 19 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
Nov 09 PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
详解将数据从Laravel传送到vue的四种方式
Oct 16 PHP
WordPress伪静态规则设置代码实例
Dec 10 PHP
php中session与cookie的比较
Jan 27 #PHP
php实现session自定义会话处理器的方法
Jan 27 #PHP
php实现检查文章是否被百度收录
Jan 27 #PHP
php创建session的方法实例详解
Jan 27 #PHP
PHP连接SQLServer2005的方法
Jan 27 #PHP
php去除html标记的原生函数详解
Jan 27 #PHP
分享下php5类中三种数据类型的区别
Jan 26 #PHP
You might like
用PHP+MySql编写聊天室
2006/10/09 PHP
PHP 文件系统详解
2012/09/13 PHP
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
javascript算法学习(直接插入排序)
2011/04/12 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
详谈js模块化规范
2017/07/07 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
利用Python脚本生成sitemap.xml的实现方法
2017/01/31 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
Python多层装饰器用法实例分析
2018/02/09 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
python 实现二维列表转置
2019/12/02 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
新手学习Python2和Python3中print不同的用法
2020/06/09 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
python matlab库简单用法讲解
2020/12/31 Python
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
神路信息Java面试题目
2013/03/31 面试题
财务部出纳岗位职责
2013/12/22 职场文书
国税会议欢迎词
2014/01/16 职场文书
初二物理教学反思
2014/01/29 职场文书
打架检讨书300字
2014/02/02 职场文书
工程售后服务方案
2014/06/08 职场文书
给校长的一封检讨书
2014/09/20 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
iPhone13将有八大升级
2021/04/15 数码科技
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL