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
如何在PHP中使用Oracle数据库(2)
Oct 09 PHP
PHP文件操作实现代码分享
Sep 01 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
Aug 21 PHP
Codeigniter的dom类用法实例
Jun 26 PHP
php获取文件后缀的9种方法
Mar 22 PHP
php提交过来的数据生成为txt文件
Apr 28 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
php实现微信和支付宝支付的示例代码
Aug 11 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 foreach 参数强制类型转换的问题
2010/12/10 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
简述php环境搭建与配置
2016/12/05 PHP
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python实现五子棋人机对战游戏
2020/03/25 Python
Python搭建代理IP池实现存储IP的方法
2019/10/27 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
小学门卫岗位职责
2013/12/17 职场文书
歌唱比赛主持词
2014/03/18 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
大学生入党自荐书
2015/03/05 职场文书
地震捐款简报
2015/07/21 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP