热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

79基于PHP的用户认证

:本篇文章主要介绍了79基于PHP的用户认证,对于PHP教程有兴趣的同学可以参考一下。
如果希望在每一段脚本上都进行口令保护,可以结合使用header()语句、$PHP_AUTH_USER$PHP_AUTH_PW来建立基本的认证方案,通常的基于服
务器的提问/响应顺序都如下所示:  

  1、用户从服务器上请求一个文件。如果这个文件在服
一个401(示经授权的用户)字符串。  

  2、浏览器收到这个响应后,弹出要求用户输入用户
  名/口令的对话框。  

钮将信息返回服务器供认证使用。  

  4、如果用户名和口令有效,被保护的文件将向用户开放,
  只要用户还在使用文件,认证会一直有效。  

起自动显示用户名/口令对话框的HTTP头部就可以模仿HTT
P的提问/响应系统,PHP把用户在用户名/口令对话框中输
入的信息存储在$PHP_AUTH_USER$PHP_AUTH_PW中,
使用这二个变量,就可以与存储在文本文件、数据库等文件
中的用户名/口令进行比较。  

  这个例子采用了二个硬编码的值进行认证,但无论用户
  名和口令放在什么地方,其原理都是相同的。 
if ((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW))) {

   /* 如果没有值,则发送一个能够引发对话框出现的头部*/   header('WWW-Authenticate: Basic realm="My Private Stuff"');

   header('HTTP/1.0 401 Unauthorized');

    echo'Authorization Required.';

    exit;

   } elseif ((isset($PHP_AUTH_USER)) && (isset($PHP_AUTH_PW))){

    /* 变量中有值,检查它们是否正确*/if (($PHP_AUTH_USER != "validname") || ($PHP_AUTH_PW != "goodpassword")) {

        /* 如果输入的用户名和口令中有一个不正确,则发送一个能够引发对话框出现的头部 */         header('WWW-Authenticate: Basic realm="My Private Stuff"');

         header('HTTP/1.0 401 Unauthorized');

         echo'Authorization Required.';

        exit;

        } elseif (($PHP_AUTH_USER == "validname") || ($PHP_AUTH_PW == "goodpassword")) {

        /* 如果二个值都正确,显示成功的信息 */echo"

You're authorized!

"
; } } ?>
需要注意的是,如果你使用的是基于文件的保护机制,
它并不能保证目录中所有的文件的安全。它可能保护大
部分的文件,如果你认为它能够保护给定目录中的所有
文件,你的这种认识就需要变变了。 

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了79 基于 PHP 的用户认证,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • H5技术实现经典游戏《贪吃蛇》
      本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
    • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
    • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
    • JavaScript 跨域解决方案详解
      本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
    • 搭建个人博客:WordPress安装详解
      计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
    • 2023年,Android开发前景如何?25岁还能转行吗?
      近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
    • 本文介绍了如何使用Node.js通过两种不同的方法连接MongoDB数据库,包括使用MongoClient对象和连接字符串的方法。每种方法都有其特点和适用场景,适合不同需求的开发者。 ... [详细]
    • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
    • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
      腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
    • 本文探讨了使用lightopenid库实现网站登录,并在用户成功登录后,如何获取其姓名、电子邮件及出生日期等详细信息的方法。特别针对Google OpenID进行了说明。 ... [详细]
    • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
    • Docker安全策略与管理
      本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
    • Uniswap 与 MoonPay 合作,引入法币交易功能。本文探讨这一合作对用户进入加密货币领域的安全性及便利性的影响。 ... [详细]
    • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
    • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
    author-avatar
    星夜幂语_525
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有