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 相关文章推荐
PHP中的日期及时间
Nov 23 PHP
php基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
php 图片加水印与上传图片加水印php类
May 12 PHP
php中var_export与var_dump的区别分析
Aug 21 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
Apr 09 PHP
浅析Yii2中GridView常见操作
Apr 22 PHP
thinkphp中的url跳转用法分析
Jul 12 PHP
PHP模糊查询的实现方法(推荐)
Sep 06 PHP
Laravel中间件实现原理详解
Oct 09 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 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
实现“上一页”和“下一页按钮
2006/10/09 PHP
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
字母顺序颠倒而单词顺序不变的php代码
2010/08/08 PHP
PHP的加密方式及原理
2012/06/14 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
小程序实现分类页
2019/07/12 Javascript
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
Python实现类的创建与使用方法示例
2017/07/25 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
Python读取实时数据流示例
2019/12/02 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
面试自我评价范文
2014/09/17 职场文书
2014年有孩子的离婚协议书范本
2014/10/08 职场文书
财务总监岗位职责
2015/02/03 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
python代码实现扫码关注公众号登录的实战
2021/11/01 Python
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
2021/11/11 Python