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 相关文章推荐
phpmyadmin 常用选项设置详解版
Mar 07 PHP
PHP中MVC模式的模板引擎开发经验分享
Mar 23 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
php对图像的各种处理函数代码小结
Jul 08 PHP
Yii实现文章列表置顶功能示例
Oct 18 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
Nov 05 PHP
PHP通过引用传递参数用法分析
Dec 01 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 PHP
laravel框架中视图的基本使用方法分析
Nov 23 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
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
2017/05/05 星际争霸
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
浅谈react 同构之样式直出
2017/11/07 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
ES6知识点整理之模块化的应用详解
2019/04/15 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
Python 模块EasyGui详细介绍
2017/02/19 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
Python CSV文件模块的使用案例分析
2019/12/21 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
金融专业毕业生推荐信
2013/11/26 职场文书
超市营业员岗位职责
2013/12/20 职场文书
销售员个人求职的自我评价
2014/02/10 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
怎么写工作检讨书
2014/11/16 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书
springboot中一些比较常用的注解总结
2021/06/11 Java/Android
Java面试题冲刺第十六天--消息队列
2021/08/07 面试题
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS