




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连东软信息学院毕业设计(论文)外文资料及译文系 所: 专 业: 班 级: 姓 名: 学 号: 大连东软信息学院Dalian Neusoft University of InformationPHP and LDAPAs corporate hardware and software infrastructures expanded throughout the lastdecade, IT professionals found themselves overwhelmed with the administrative overhead required to manage the rapidly growing number of resources being added tothe enterprise. Printers, workstations, servers, switches, and other miscellaneous network devices all required continuous monitoring and management, as did user resource access and network privileges.Quite often the system administrators cobbled together their own internal modusoperandi for maintaining order, systems that all too often were poorly designed, insecure,and nonscalable. An alternative but equally inefficient solution involved thedeployment of numerous disparate systems, each doing its own part to manage someof the enterprise, yet coming at a cost of considerable overhead because of the lack ofintegration. The result was that both users and administrators suffered from the absenceof a comprehensive management solution, at least until directory services came along.Directory services offer system administrators, developers, and end users alike aconsistent, efficient, and secure means for viewing and managing resources such as people, files, printers, and applications. The structure of these read-optimized data repositories often closely models the physical corporate structure, an example ofwhich is depicted in Figure 17-1.Numerous leading software vendors have built flagship directory services products and indeed centered their entire operations around such offerings. The following are justa few of the more popular products: Fedora Directory Server: / Microsoft Active Directory: /activedirectory/ Novell eDirectory: /products/edirectory/ Oracle Collaboration Suite: /collabsuiteAll widely used directory services products depend heavily upon an open specification known as the Lightweight Directory Access Protocol, or LDAP. In this chapter,you will learn how easy it is to talk to LDAP via PHPs LDAP extension. In the end,youll possess the knowledge necessary to begin talking to directory services via yourPHP applications.Because an introductory section on LDAP wouldnt be nearly enough to do the topic justice, its assumed youre reading this chapter because youre already a knowledgeable LDAP user and are seeking more information about how to communicatewith your LDAP server using the PHP language. If you are, however, new to thetopic, consider taking some time to review the following online resources beforecontinuing:LDAP v3 specification (/rfc/rfc3377.txt): The officialspecification of Lightweight Directory Access Protocol Version 3The Official OpenLDAP Web site (/): The official Website of LDAPs widely used open source implementationIBM LDAP Redbooks (/): IBMs free 700+ pageintroduction to LDAPUsing LDAP from PHPPHPs LDAP extension seems to be one that has never received the degree of attentionit deserves. Yet it offers a great deal of flexibility, power, and ease of use, three traits developers yearn for when creating the often complex LDAP-driven applications.This section is devoted to a thorough examination of these capabilities, introducing thebulk of PHPs LDAP functions and weaving in numerous hints and tips on how to make the most of PHP/LDAP integration.Note The examples found throughout this chapter use an LDAP server made available for testing purposes by the OpenLDAP project. However, because the data found on this server is likely to change over time, the sample results are contrived. Further, read-only access is available, meaning you will not be able to insert, modify, or delete data as demonstrated later in this chapter. Therefore, to truly understand the examples, youll need to set up your own LDAP server or be granted administrator access to an existing server. For Linux, consider using OpenLDAP (/). For Windows, numerous free and commercial solutions are available, although Lucas Bergmans OpenLDAP binaries for Windows seem to be particularly popular. See http:/www.bergmans.us/ for more information.Connecting to an LDAP ServerThe ldap_connect() function establishes a connection to an LDAP server identified by a specific host name and optionally a port number. Its prototype follows:resource ldap_connect(string hostname , int port)If the optional port parameter is not specified, and the ldap:/ URL scheme prefaces the server or the URL scheme is omitted entirely, LDAPs standard port 389 is assumed. If the ldaps:/ scheme is used, port 636 is assumed. If the connection is successful, a link identifier is returned; on error, FALSE is returned. A simple usageexample follows:428 CHAPTER 17 PHP AND LDAPAlthough Secure LDAP (LDAPS) is widely deployed, it is not an official specification.OpenLDAP 2.0 does support LDAPS, but its actually been deprecated in favor ofanother mechanism for ensuring secure LDAP communication known as Start TLS.Securely Connecting Using the Transport Layer Security Protocol Although not a connection-specific function per se, ldap_start_tls() is introduced in this section nonetheless because it is typically executed immediately after a call to ldap_connect() if the developer wants to connect to an LDAP server securely using theTransport Layer Security (TLS) protocol. Its prototype follows:boolean ldap_start_tls(resource link_id)There are a few points worth noting regarding this function: TLS connections for LDAP can take place only when using LDAPv3. Because PHPuses LDAPv2 by default, you need to declare use of version 3 specifically, by usingldap_set_option() before making a call to ldap_start_tls(). You can call the function ldap_start_tls() before or after binding to the directory,although calling it before makes much more sense if youre interested inprotecting bind credentials.An example follows:Because ldap_start_tls() is used for secure connections, new users commonlymistakenly attempt to execute the connection using ldaps:/ instead of ldap:/.Note from the preceding example that using ldaps:/ is incorrect, and ldap:/ shouldalways be used.大连东软信息学院毕业设计(论文)译文-0-翻译:第 1 章介绍 PHP在许多方面 PHP 语言是典型的开源项目,用来满足开发人员随着时间的推移越来越多的要求和之前未被满足的需要。作为一个初露头角的 PHP 开发人员,重要的是你需要拥有一些洞察语言进展程度,因为它将有助于您理解语言的优势,而且在某种程度上进行特质背后的推理。此外,这门语言是如此受欢迎,有一些理解之间的差异特别是版本 4、5、6 帮助在评估 Web 托管提供商和 php 驱动的应用程序为您自己的需要。在这方面帮助您迎头赶上,本章将让你熟悉 PHP 的特性和特定版本的差异。通过本章的结论,您将了解以下几点:加拿大开发人员如何使用网页流量计数器催生了世界上最流行的脚本语言PHP 的开发人员所做的重复语言,版本 5 的发布的优势为什么 PHP 6 将进一步推动企业采用 PHP 语言PHP 的特点吸引新的专家程序员注意发表的时候,PHP 6 还是测试版,尽管许多特性是足够稳定的,他们可以安全地讨论这本书的整个过程。但是小心;其中的一些特性可能会改变在最终版本发布前。2 章 1介绍 PHP历史 PHP 的起源可以追溯到 1995 年,当时一个独立软件开发承包商任命拉姆Lerdorf 开发了一个 Perl / CGI 脚本可以让他知道有多少游客阅读网上的简历。他的脚本执行两个任务:日志访客信息,并显示计数的游客到 Web 页面。因为网络我们今天所熟知的当时还年轻,这样的工具是不存在的,他们促使电子邮件询问 Lerdorf的脚本。Lerdorf 因此开始赠送他的工具集,称为个人主页(PHP)。要求 PHP 工具集促使 Lerdorf 继续开发语言,也许最著名的早期变化被一个新功能将表单中输入 HTML数据转化为符号变量,鼓励出口到其他系统。为此,他选择了继续发展的 C 代码,而不是 Perl。持续增加 PHP 工具集在 1997 年 11 月达到了顶峰 PHP 2.0 的发布,或个人主页/翻译(PHP / FI)形式。由于 PHP 的日益普及,2.0 版是伴随着大量的来自世界各地的程序员增强和改进。新的 PHP 版本非常受欢迎,和一个核心的开发团队很快加入Lerdorf。他们保留了原始的概念将代码直接与 HTML 和重写了解析引擎,生 PHP 大连东软信息学院毕业设计(论文)译文-1-3.0。1998 年 6 月发布的 3.0 版本,超过 50000 用户使用 PHP 来增强他们的网页。发展继续忙碌的速度在未来两年内,数以百计的功能被添加和用户数量增长突飞猛进。1999 年初,Netcraft(/),一个互联网研究和分析公司,报道一个保守的估计超过 100 万的用户基础,使 PHP 成为世界上最流行的脚本语言。它的受欢迎程度甚至超过了最大的期望开发人员,因为它很快变得明显,用户为了使用 PHP权力比最初预想的更大的应用程序。两个核心开发人员,Zeev Suraski 和安迪古特曼完全主动反思 PHP 操作的方式,最终改写的 PHP 解析器,名为 Zend 脚本引擎。这项工作的结果是在 PHP 4 版本。注意除了 Zend 引擎的主要发展和发挥主要作用在转向 PHP 语言的整体发展,Suraski 和古特曼是 Zend 技术有限公司(/)的联合创始人。Zend 是最明显的提供产品和服务的开发、部署和管理 PHP 应用程序。看看 Zend 为更多关于公司的产品网站,以及大量的免费学习资源。第 1 章介绍 PHP 3PHP 42000 年 5 月 22 日,大约 18 个月后的第一个正式宣布新的开发工作,PHP 4.0 被释放了。许多认为 PHP 4 的释放是企业发展中的语言的正式亮相现场,一项民意支持的语言的人气急速上升。主要版本仅仅几个月后,Netcraft 估计 PHP 被安装在 360 万多个域。PHP 4 一些企业级改进添加到语言,包括以下几点:改善资源处理:第三版之一。X 的主要缺点是可伸缩性。这主要是因为设计师们低估了语言是如何迅速采用大规模应用。语言不是最初用来运行企业级的 Web 站点,并继续使用它的兴趣等目的导致了开发人员重新思考语言的机制在这方面。面向对象的支持:版本 4 包含一定程度的面向对象的功能,尽管这在很大程度上被认为是一个普通的甚至考虑不周的实现。尽管如此,新功能发挥了重要作用在吸引用户习惯于使用传统的面向对象编程(OOP)的语言。标准类和对象开发方法提供除了对象重载和运行时类信息等特性。更全面的 OOP 实现了在版本 5 和第 6 章中介绍。本地会话处理支持:HTTP 会话处理,用于版本 3。X 用户通过第三方包PHPLIB(),是本地纳入版本 4。这个特性提供了开发人员跟踪用户活动的一种方式和偏好提供无与伦比的效率和易用性。第 18 章涵盖了PHP 的会话处理能力。大连东软信息学院毕业设计(论文)译文-2-加密:MCrypt 库()是纳入默认的分布,为用户提供全面和散列加密使用加密算法包括河豚、MD5、SHA1,和 TripleDES 等等。21 章深入研究 PHP 的加密功能。ISAPI 支持:ISAPI 支持提供用户能够使用 PHP 与微软的 IIS Web 服务器。第二章向您介绍了如何安装 PHP 在 IIS 和 Apache Web 服务器。PHP 4 章 1介绍本机 dcom 之所以支持:Windows 用户的另一个奖金是 PHP 4 和实例化 COM 对象的访问的能力。此功能开辟了广泛的与 Windows 应用程序的互操作性。本地 Java 支持:在另一个提高 PHP 的互操作性,支持绑定到 Java 对象从一个 PHP应用程序也可以在 4.0 版。Perl 兼容的正则表达式(PCRE)库:Perl 语言一直被誉为卫冕字符串解析王国的皇室。开发人员知道,强大的正则表达式功能将发挥重大作用的广泛接受选择简单的PHP 和 Perl 的合并功能而不是复制,滚动 PCRE 库包到 PHP 的默认分配(如版本4.2.0)。第九章详细介绍这一重要特性,提供了一个总体介绍通常令人费解的正则表达式语法。除了这些特性外,上百功能添加到版本 4,大大提高语言的能力。许多这些函数讨论了这本书的整个过程。PHP 4 代表一个巨大的飞跃在语言的成熟,提供新功能,权力,和可伸缩性,动摇一个巨大数量的迅速发展和专家开发人员。然而,PHP 开发团队不是内容长时间坐在他们的手,很快就开始另一个巨大的努力,可能建立语言的 800 磅重的大猩猩 Web 脚本世界:PHP 5。PHP 5版本 5 是又一个分水岭 PHP 语言的进化。尽管之前主要释放了巨大的新图书馆的数量增加,版本 5 包含在现有功能的改进和添加一些特性通常与成熟有关编程语言架构:大大提高面向对象功能:改进 PHP 的面向对象架构是版本 5 的最明显特征。版本5 包含了大量的功能特性,如显式的构造函数和析构函数,对象克隆,抽象类,变量范围,和接口,对于 PHP 如何处理对象管理的一个重大改进。6 和 7 章提供全面介绍这个主题。第 1 章介绍 PHP 5大连东软信息学院毕业设计(论文)译文-3-Try / catch 异常处理:在结构编程语言设计自定义错误处理策略,具有讽刺意味的是,容易出错的和不一致的。为了纠正这个问题,版本 5 支持异常处理。一直是错误管理的支柱在许多语言中,如 c+,c#,Python 和 Java,异常处理提供了一种优秀的方式规范你的错误报告的逻辑。这个方便的方法介绍了第八章。改进的 XML 和 Web 服务支持:XML 支持基于 libxml2 库,现在和一个新的而有前途的解析和操纵 XML 扩展,称为 SimpleXML,介绍了。此外,现在可以一个 SOAP 扩展。在第 20 章,介绍了这两个扩展,连同许多光滑的第三方 Web 服务扩展。本机支持 SQLite:总是热衷于选择,开发人员添加支持强大而紧凑的 SQLite 数据库服务器(/)。SQLite 的解决方案开发人员提供了一个方便寻找的许多特性的一些重量级的数据库产品不引起相应的管理开销。PHP 的支持在22 章介绍了这种强大的数据库引擎。注意增强的 PHP 5 中引入面向对象功能导致了额外的促进语言:它开放的可能性尖端框架创建使用语言。24 章向您介绍最流行的框架,即 Zend 框架(/)。随着版本 5 的发布,PHP 的声望达到历史高点的时候,是什么已经安装在近 1900万域,根据 Netcraft。PHP 也是迄今为止最流行的 Apache 模块,可以在几乎所有Apache 安装的 54%,根据互联网服务咨询公司 E-Soft Inc .(/)。php 6截至记者发稿时,PHP 6,将于 2007 年发布的结论。指定的决定这一个主要版本(版本 6)被许多人认为是一个好奇的人,部分原因是只有一个特别重要的功能已经添加- Unicode 支持。然而,在编程世界,重要的是这个词6 章 1介绍 PHP隐含意思是性感或有价,所以不要让 Unicode 支持的掩盖了许多其他重要的功能,已经被添加到 PHP 6。亮点是在这里找到的列表:Unicode 支持:本地添加了 Unicode 支持,使它更容易建立和维护多语言应用程序。安全改进:相当数量的安全改进,应该大大减少 prevelance securityrelated失态,坦率地说不是这么多错误的语言,但是由于经验不足的程序员使用剪刀,可以这大连东软信息学院毕业设计(论文)译文-4-么说。这些变化将在第二章讨论。新语言特性和结构:添加了许多新的语法功能,包括最值得注意的是,一个 64 位整数类型,修改 foreach 循环构造多维数组,支持标签。这些特性将在第三章讨论。截至记者发稿时,PHP 的声望是处于历史高位。根据 Netcraft,PHP 已经安装在超过 2000 万个域名。根据 E-Soft Inc . PHP 仍然是最流行的 Apache 模块,可以在Apache 安装的 40%以上。到目前为止,本章只讨论特定于版本的语言的特性。每个版本共享一个共同的特征,发挥非常重要的作用在吸引和留住一个庞大的用户基础。在下一节中,您将了解这些基本特性。注意您可能想知道为什么版本 4、5、6 在本章所提到的。毕竟,不是只有最新版本有关?当你肯定鼓励使用最新的稳定版本,版本 4 和 5 仍在广泛使用,不太可能很快消失。因此有一些观点关于每个版本的功能和限制是一个好主意,特别是如果你的工作与客户可能不会急于跟上 PHP 技术的前沿。第 1 章介绍 PHP 7通用语言特性每个用户都有他或她自己的具体原因使用 PHP 实现missioncritical 应用程序,虽然有人会说,这样的动机往往分为四个主要类别:实践性、权力、可能性,和价格。实用性从一开始,创建 PHP 语言的实用性。毕竟,Lerdorf 的初衷并不是设计一个全新的语言,但是要解决一个问题,没有现成的解决方案。此外,PHP 的早期演化的结果不是显式意图改善语言本身,而是向用户增加其效用。结果是一种语言,甚至构建功能强大的应用程序允许用户用最少的知识。例如,一个有用的 PHP 脚本可以只包含一行,与 C 不同,没有必要强制的库。例如,下面是一个完整的 PHP 脚本,其目的是输出当前日期,在这种情况下一个格式化的 9 月 23 日,2007:不要担心如果这看起来外国。在后面的章节,PHP 语法将详细解释。目前只是试图让怎么回事的要点。语言对密实度的另一个例子是其巢功能的能力。例如,可以影响很多变化值在同一行通过叠加函数在一个特定的顺序。下面的示例生成一个字符串 a3jh8 等五个字母数字字符:$ randomString = substr(md5(),0 5);大连东软信息学院毕业设计(论文)译文-5-PHP 是一种松散类型语言,这意味着不需要显式地创建、定型,或摧毁一个变量,尽管你不阻止这样做。PHP 内部处理此类事件,创建动态变量被称为脚本,并使用自动铸字变量的最佳猜测公式。例如,PHP 认为下面的语句完全有效:8 章 1介绍 PHPPHP 也将自动销毁变量和返回资源系统当脚本完成。在这些和其他许多方面,试图处理的许多行政方面的编程在内部,PHP 允许开发人员几乎完全集中在最终的目标,即一个工作应用程序。权力PHP 开发人员手头已有 180 多个图书馆,集体包含超过 1000 的功能。虽然你可能意识到 PHP 接口与数据库的能力,操作表单信息,并创建动态页面,您可能不知道 PHP也可以执行以下操作:创建和操纵 Adobe Flash 和可移植文档格式(PDF)文件评估密码 guessability 通过比较语言词典和容易破碎模式使用 POSIX 解析即使是最复杂的字符串和基于 perl 的正则表达式库验证用户对登录凭证存储在平面文件数据库,甚至微软活动目录与各种各样的通信协议,包括 LDAP,IMAP,POP3,NNTP 和 DNS紧密集成多种信用卡处理解决方案这没有考虑什么可用的 PHP 扩展和应用程序存储库(梨),聚集数百轻松安装的开源软件包,为进一步扩展 PHP 在很多方面。您可以了解更多关于梨在 11 章。在接下来的章节中您将了解许多这些库和一些梨包。第 1 章介绍 PHP 9可能性PHP 开发人员很少绑定到任何一个实现的解决方案。相反,用户提供的语言通常是充满了选择。例如,考虑数据库的 PHP 数组支持选项。原生支持提供超过 25 数据库产品,包括 Adabas D,数据库,皇后,FilePro,FrontBase,Hyperwave,IBM DB2,Informix,安格尔,不同,mSQL,Microsoft SQL Server,MySQL,甲骨文,Ovrimos,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 别墅设计毕业中期答辩
- 诊断学基础模拟题(附答案解析)
- 界面设计1+x题库(附答案解析)
- 2024年9月用电客户受理员模拟考试题(含答案解析)
- 原研哉设计及设计理念
- 航空公司航班延误法律责任的认定考核试卷
- 货运火车站物流服务网络优化与市场响应速度考核试卷
- 自行车骑行与城市环境美化考核试卷
- 管道工程智能化发展模式探索与展望思考考核试卷
- 《x维护与检查》课件
- 项目联合体协议(标前)
- 智能工厂数字化交付 第2部分:设计交付 征求意见稿
- 护理查房(抑郁发作)
- 2023年新高考天津数学高考真题(解析版)
- 小学英语沪教版单词表(测试版)
- 博物馆物业服务投标方案(技术方案)
- 2024年高级电工职业鉴定考试题库-下(多选、判断题)
- GB/T 32399-2024信息技术云计算参考架构
- 2024-2030年中国邮轮行业市场发展状况及发展前景与趋势研究报告
- 文言文二则 囊萤夜读 公开课一等奖创新教学设计+说课稿+(共25张)
- 2023年山东烟台中考满分作文《这一路风光真好》
评论
0/150
提交评论