PHP网页安全认证的实例详解


Posted in PHP onSeptember 28, 2017

PHP网页安全认证的实例详解

 不基于数据库:

<?php
    //unset($_SERVER['PHP_AUTH_USER']);
    $strAuthUser= $_SERVER['PHP_AUTH_USER'];      
    $strAuthPass= $_SERVER['PHP_AUTH_PW'];

 if (! ($strAuthUser == "a" && $strAuthPass == "a")) {
  header('WWW-Authenticate: Basic realm="wly"');
  header('HTTP/1.0 401 Unauthorized');
  echo "用户验证!!";
  exit;
 } else {
  echo "验证通过";
  
  header("location:http://www.baidu.com");
  //unset($_SERVER['PHP_AUTH_USER']);  
 }
?>

基于数据库:

<?php
  function authenticate_user() {
    header('WWW-Authenticate: Basic realm="Secret Stash"');
   header("HTTP/1.0 401 Unauthorized");
    exit;
  }
 
  if (! isset($_SERVER['PHP_AUTH_USER'])) {
    authenticate_user();
  } else {
    mysql_pconnect("localhost","authenticator","secret") or die("Can't connect to database server!");
    mysql_select_db("java2s") or die("Can't select authentication database!");
 
   $query = "SELECT username, pswd FROM user WHERE username='$_SERVER[PHP_AUTH_USER]' AND pswd=MD5('$_SERVER[PHP_AUTH_PW]')";
 
    $result = mysql_query($query);
 
    // If nothing was found, reprompt the user for the login information.
    if (mysql_num_rows($result) == 0) {
     authenticate_user();
    }
  }
 ?>

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
深入php socket的讲解与实例分析
Jun 13 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
php实现天干地支计算器示例
Mar 14 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
php实现encode64编码类实例
Mar 24 PHP
PHP二维数组去重算法
Dec 17 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
让Laravel API永远返回JSON格式响应的方法示例
Sep 05 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 PHP
PHP反射原理与用法深入分析
Sep 28 PHP
php二维码生成以及下载实现
Sep 28 #PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 #PHP
PHP面向对象多态性实现方法简单示例
Sep 27 #PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 #PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 #PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 #PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 #PHP
You might like
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
PHP学习笔记之三 数据库基本操作
2011/01/17 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 战前探营!
2014/05/21 DOTA
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
初步解析Python下的多进程编程
2015/04/28 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
简单谈谈python中的语句和语法
2017/08/10 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
2014/09/09 面试题
企业面试题试卷附带答案
2015/12/20 面试题
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
运动会表扬稿范文
2015/05/05 职场文书
运动会开幕式致辞
2015/07/29 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
PHP遍历数组的6种方式总结
2021/11/17 PHP
element tree树形组件回显数据问题解决
2022/08/14 Javascript