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

PHPAPACHE实现用户论证的方法

在专业的Web站台上,经常会需要应用者的帐号及密码,也就是身份确认的动作。早期的NCSAhttpd伺服器并没有供给这项应用者确认的功效,Webmaster只能用手工打造一个身份确认的CG
  在专业的 Web 站台上,经常会需要应用者的帐号及密码,也就是身份确认的动作。早期的 NCSA httpd 伺服器并没有供给这项应用者确认的功效,Webmaster 只能用手工打造一个身份确认的 CGI 程式。
  自 CERN httpd 之后的 Web 伺服器大部份都供给了应用者身份确认的功效。仅管每套 Web 伺服器的设定都不太雷同,但在设定上都大同小异。

  以下就是 Apache 伺服器上的应用者身份确认的设定。



AuthType Basic
AuthName MyMember
AuthUserFile /usr/local/MyMember.txt
Options Includes ExecCGI

require valid-user



在这个例子中,当应用者在看 MyMember 目录下所有的档案,包含图片档案及其它各式档案时,都需要应用者的帐号密码确认。而应用者的帐号及密码档都存在于/usr/local/MyMember.txt 之中。

这个帐号密码档 /usr/local/MyMember.txt 的样子可能如下例。其中冒号前的字串是应用者帐号,冒号之后的字串是经过不可还原加密的密码,编码一般都是应用传统的 DES 编码,密码的头二个字是类似种子的字元 (salt),本例中都是 3P。每行代表一位应用者。当然 Webmaster 要自行把稳重覆帐号的情况。比拟特别是在 Win32 系统上架 Apache 的情况,冒号后的密码不可加密,由于 Win32 没有供给这方面的编码
API,因此应用者密码以明码的方法存在。


john1234:3PWudBlJMiwro
queenwan:3PFNVLNPN9W0M
noname00:3PEsXaJx5pk7E
wilson49:3PjoWb0EnaG22
rootboot:3PIt0snI6.84E
sun_moon:3PvymMeNOc.x.
nobody38:3PbskPKwV94hw

在 Apache 1.3.6 版上,可以用 ~apache/bin/htpasswd 来产生单笔的帐号及密码,但对于需要大笔材料的贸易站台,可能就需要自行写程式来处理了。UNIX 上需要召唤 crypt() 来处理编码。



在一切都设定好了之后,连线时就会在浏览器呈现查核密码的视窗,如上图就是SEEDNet 的 MySEED 网站的应用者查核机制。在输进了帐号及密码后,浏览器会将它用BASE64 编码后,传到伺服器端。当然 BASE64 只是编码不是加密,因此在网路上这种传输的安全性仍然不高,还是有可能被中间的刽客截下,再将 BASE64 还原,这也是全部应用者认证中最美中不足的处所,或许日后声援摘要认证 (Digest) 及应用 MD5 编码后,可以解决这种标题。之后每一页仍然需要帐号及密码,只不过浏览器会帮你主动送出,不用再输进帐号密码了。这方面浏览器会保留到被封闭为止,下次重履行浏览器仍需输进第一次。

在应用者数目少时,应用上述的方法轻松又省事。但是在应用者有数万人,甚至数十万人时,会产生全部伺服器的效率都被搜寻帐号密码下拖垮,可能读取一页需要数十秒到数分钟。这种情况再应用伺服器供给的密码查核机制就不太明智了。在Netscape Enterprise Server 上可能就可以应用 NSAPI 来开发自己的查核方法,在IIS 上也可以用 ISAPI 过滤器开发。写 C/C 程式召唤 NSAPI/ISAPI 总是很累,在PHP 上有了另外的选择,这也是本节的主题。
推荐阅读
  • 开源系统的便利性显而易见,但其潜在的安全漏洞也不容忽视,PHPCMS同样面临这一挑战。对于普通网站而言,确保PHPCMS的安全性至关重要。以下几点是需要特别关注的配置事项:1、后台登录地址的安全设置;2、文件权限管理的严格控制;3、定期更新与补丁安装。通过这些措施,可以有效提升系统的整体安全性。 ... [详细]
  • 在Linux环境下,本文详细探讨了Apache服务器中CGI技术的应用与实现。首先,通过使用yum包管理器安装了必要的软件,如PHP。安装完成后,对Apache服务器进行了配置,确保CGI功能正常运行。此外,还介绍了如何编写和调试CGI脚本,以及如何在实际环境中部署这些脚本以提供动态网页内容。实验结果表明,通过合理的配置和优化,Apache服务器能够高效地支持CGI应用程序,为用户提供丰富的交互体验。 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • 本文深入解析了 Apache 配置文件 `httpd.conf` 和 `.htaccess` 的优化方法,探讨了如何通过合理配置提升服务器性能和安全性。文章详细介绍了这两个文件的关键参数及其作用,并提供了实际应用中的最佳实践,帮助读者更好地理解和运用 Apache 配置。 ... [详细]
  • 本文作为“实现简易版Spring系列”的第五篇,继前文深入探讨了Spring框架的核心技术之一——控制反转(IoC)之后,将重点转向另一个关键技术——面向切面编程(AOP)。对于使用Spring框架进行开发的开发者来说,AOP是一个不可或缺的概念。了解AOP的背景及其基本原理,对于掌握这一技术至关重要。本文将通过具体示例,详细解析AOP的实现机制,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • ActiveMQ是由Apache开发的一款广受欢迎且功能强大的开源消息中间件。作为完全符合JMS 1.1和J2EE 1.4规范的JMS Provider实现,尽管JMS规范已问世多年,但ActiveMQ依然保持了其在消息队列领域的领先地位。本文将带你初步了解ActiveMQ的核心概念及其应用场景,帮助你快速入门这一重要的消息传递技术。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • SQLSharper 2014 是一款专为 SQL Server Management Studio (SSMS) 设计的功能增强插件,旨在提升 T-SQL 开发者的效率。该插件提供了多种实用工具,包括快速查询数据库对象、详细查看表结构、优化查询结果导出以及自动生成代码等。适用于需要高效管理和开发 SQL 数据库的专业人士。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
author-avatar
摄影爱好者Summer_100
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有