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 相关文章推荐
第五节--克隆
Nov 16 PHP
CodeIgniter php mvc框架 中国网站
May 26 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
PHP 读取Postgresql中的数组
Apr 14 PHP
基于php在各种web服务器的运行模式详解
Jun 03 PHP
调整PHP的性能
Oct 30 PHP
php实现水仙花数示例分享
Apr 03 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 PHP
php中实现可以返回多个值的函数实例
Mar 21 PHP
yii2中关于加密解密的那些事儿
Jun 12 PHP
php如何把表单内容提交到数据库
Jul 08 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 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 开源框架22个简单简介
2009/08/24 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
php微信开发之关注事件
2018/06/14 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
python批量下载图片的三种方法
2013/04/22 Python
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
Python中的列表知识点汇总
2015/04/14 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
解决Python requests库编码 socks5代理的问题
2018/05/07 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
利用python实现周期财务统计可视化
2019/08/25 Python
Django框架模板用法入门教程
2019/11/04 Python
Python小白垃圾回收机制入门
2020/06/09 Python
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
工伤赔偿协议书
2014/04/15 职场文书
师范生见习报告范文
2014/11/03 职场文书
高中军训感想
2015/08/07 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
《落花生》教学反思
2016/02/16 职场文书
redis实现的四种常见限流策略
2021/06/18 Redis