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学习资源和链接.
Dec 05 PHP
php中的登陆login
Jan 18 PHP
php实现多张图片上传加水印技巧
Apr 18 PHP
使用php计算排列组合的方法
Nov 13 PHP
php curl_init函数用法
Jan 31 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
Apr 08 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 PHP
PHP类相关知识点实例总结
Sep 28 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
laravel-admin的图片删除实例
Sep 30 PHP
CI框架简单分页类用法示例
Jun 06 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学习 变量使用总结
2011/03/24 PHP
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
PHP发送短信代码分享
2015/08/11 PHP
yii去掉必填项中星号的方法
2015/12/28 PHP
yii2 RBAC使用DbManager实现后台权限判断的方法
2016/07/23 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
Vue拖拽组件开发实例详解
2018/05/11 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
JavaScript引用类型Array实例分析
2018/07/24 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
Python 字符串操作方法大全
2014/03/11 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
Python中如何导入类示例详解
2019/04/17 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
预备党员思想汇报范文
2013/12/29 职场文书
工作态度检讨书
2014/02/11 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
实习护士自荐信
2015/03/25 职场文书
入党群众意见范文
2015/06/02 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
八年级作文之友谊
2019/12/02 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL