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 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
15种PHP Encoder的比较
Apr 17 PHP
PHP5权威编程阅读学习笔记 附电子书下载
Jul 05 PHP
深入密码加salt原理的分析
Jun 06 PHP
Smarty局部缓存的几种方法简介
Jun 17 PHP
php socket实现的聊天室代码分享
Aug 16 PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
Jul 20 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 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超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
jQuery UI AutoComplete 自动完成使用小记
2010/08/21 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
详解python进行mp3格式判断
2016/12/23 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
Django缓存系统实现过程解析
2019/08/02 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
新手学python应该下哪个版本
2020/06/11 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
董事长秘书职责
2014/01/31 职场文书