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和ACCESS写聊天室(十)
Oct 09 PHP
PHP中cookies使用指南
Mar 16 PHP
PHP中MD5函数使用实例代码
Jun 07 PHP
php 前一天或后一天的日期
Jun 28 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
php动态添加url查询参数的方法
Apr 14 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 PHP
完美的php分页类
Oct 24 PHP
PHP观察者模式定义与用法实例分析
Mar 22 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
如何设置mysql允许外网访问
2013/06/04 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
JS脚本defer的作用示例介绍
2014/01/02 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
理解javascript async的用法
2017/08/22 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
2019/11/15 Javascript
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python对文件操作知识汇总
2016/05/15 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
24式加速你的Python(小结)
2019/06/13 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
西尔斯百货官网:Sears
2016/09/06 全球购物
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
执法作风整顿剖析材料
2014/10/11 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL