《2022年《PHPWeb程序设计教程与实验》习题答案 .pdf》由会员分享,可在线阅读,更多相关《2022年《PHPWeb程序设计教程与实验》习题答案 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 PHP Web程序设计教程与实验习题答案目录第 1 章参考答案 . 1第 2 章参考答案 . 3第 3 章参考答案 . 5第 4 章参考答案 . 5第 5 章参考答案 . 6第 6 章参考答案 . 7第 7 章参考答案 . 10 第 8 章参考答案 . 10 第 9 章参考答案 . 10 第 10 章参考答案 . 11 第 11 章参考答案 . 13 第 12 章参考答案 . 15 第 13 章参考答案 . 16 第 14 章参考答案 . 17 第 15 章参考答案 . 17 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
2、名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 1 第 1 章参考答案习题 1 1因特网和万维网之间有什么联系和区别?答: Web是 World Wide Web 的简称,又称为万维网、WWW或 3W ,它是在 Internet上运行的遍及全球的多媒体信息系统,这些信息有多种类型,包括文本、图形、图像、声音和视频等。 Internet,亦称因特网或互联网,它是由各种不同类型和规模的、独立管理和运行的主机或计算机网络组成的一个全球性特大网络。2什么是客户机/ 服务器结构?答:客户机 / 服务器结构是服务器和客户机组成的计算机网络,其中,服务
3、器( Server )是为别的计算机提供共享资源的计算机,客户机 (Client)是请求和使用服务器资源的计算机。3什么是URL ?URL由哪几个部分组成?答:统一资源定位器(Uniform Resource Locator ,URL )是为 Internet的信息资源位置而设的一种编址方式,它指定Internet资源位于哪台计算机的哪个文件夹以及文件名。URL由传输协议、主机名、路径和资源文件名组成,其格式如下:传输协议 :/ 主机 IP 地址或域名 : 端口 / 文件夹路径 / 文件名4本地主机(localhost)的 IP 地址是多少?请说明它有哪些用途?答:本地主机(localhost
4、)的 IP 地址是 127.0.0.1。利用本地主机IP 地址,可以把本地主作为服务器,同时也作为客户机,为开发网络应用程序和WEB 应用程序提供了方便的测试环境。5什么是主页?网页文件的扩展名有哪些?答 : 主 页 (Home Page) 是 进 入 一 个 网 站 首 先 看 到 的 页 面 。 网 页 文 件 的 扩 展 名有.htm 、.html 。6什么是Web服务器?它的主要作用是什么?答:Web服务器是服务器端的计算机和运行在它上面的Web服务器软件的总和。它的主要作用是负责监听Web浏览器发送到服务器的Web页面请求, 并提供相应的Web页面,通过Internet回传到客户端的
5、浏览器。7什么是通信协议?答:通信协议是计算机网络中的计算机之间进行数据传输所规定的约定。8什么情况下需要在URL中指定端口号?答:当服务器程序监听的端口号改不使用默认端口号,而是改用其他端口号时,必须在URL的主机域名后附加相应的端口号。9如何理解基于数据库的Web体系结构?它可分为哪两种模式?答:基于数据库的Web体系结构是服务器/ 浏览器模式的结构,它一般是三层结构:客户端是一个浏览器,它将对页面的请求发送给Web服务器,显示返回的HTML文档; Web服务器通过执行CGI 程序或脚本程序, 从数据库获取部分或者全部内容而生成的动态网页;后台数据库作为第三层。根据动态网页程序执行位置的不
6、同分为客户端动态Web模式和和服务器端动态Web模式。10什么是客户端脚本程序?常见的客户端脚本语言有哪些?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 2 答:客户端脚本程序是在客户端浏览器上解释执行的程序。常见的客户端脚本语言有JavaScript、VBScript 。11什么是服务器端脚本程序?常见的服务器端脚本语言有哪些?答: 服务器端脚本程序是在服务器端解释执行的程序。常见的服务器端脚本语言有ASP 、PHP 、J
7、SP、CGI、ASP.NET等。12如何理解基于XML的 Web体系结构?答:基于XML的 Web体系结构如下图。客户端可以是浏览器,也可以是应用程序。服务器向客户端传送的内容可以是XML文档或者HTML文档。因此,定义和处理存储在XML文件的数据的方法有两种:一种是在服务器端处理XML ,另一种是在客户端处理XML 。在服务器端处理XML的方法中, Web服务器运行一个Web应用程序,从数据库中提取数据,把获取的数据转换成XML格式,然后用XML与 HTML的转换程序把XML数据转换成HTML文件格式。这样HTML 文件就可以通过网络传输到用户的浏览器。在客户端处理XML的方法中, Web服
8、务器把数据库的数据转换成XML格式,然后通过网络把 XML文件传送到客户端,由客户端的浏览器或程序对XML文档进一步处理。 浏览器通过运行 XML分析器 (XML Parser) , 解释和翻译XML标记,使浏览器能够显示格式化的Web页面。在基于 XML的 Web体系结构中,客户端和服务器是相对的。13TCP协议和 IP 协议各有哪些主要作用?答: TCP 协议的主要作用是负责应用进程之间的端到端通信服务,完成端到端的差错控制和流量控制,保证传输无差错,保持顺序,无丢失或无重复等。IP 协议负责处理互联网中计算机之间的通信,向传输层提供统一的数据包。14所有连接到因特网的计算机都采用什么协议
9、?答:所有连接到因特网的计算机都采用TCP/IP 协议。16什么是超文本?答:超文本是一种联机信息表示和管理技术,它把网页中的文本或图形与地理上分散存储的信息相互链接,这种相关信息的链接被称为“超链接”。17在何处执行CGI 程序?在何处执行JavaScript程序?在何处执行Java applet程序?答: CGI程序在 Web服务器端执行。JavaScript程序、 Java applet程序都在浏览器上解释执行。18什么是 HTTP ?HTTP协议的主要功能有哪些?答: HTTP即超文本传输协议。HTTP是专门为Web设计的一种网络协议,位于TCP/IP协议的顶层。 HTTP协议负责We
10、b服务器和浏览器之间的Web文档的传输。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 3 19DNS域名服务器的任务是什么?答:DNS域名服务器的任务是自动地将域名转换为与之对应的IP 地址,然后把IP 地址返回给应用程序,应用程序再利用返回的IP 地址与对应的主机连接。20什么是静态网页?什么是动态网页?答:静态网页就是其内容由一些HTML代码组成的的网页。这些 HTML 代码可以直接通过文本编辑器输入,并保存为.htm
11、或.html文件。动态网页就是网页中加入程序或脚本,采用ASP 、PHP 、CGI、ASP.NET 、JSP 等技术动态生成的页面。第 2 章参考答案习题 2 1HTML文档的组成结构由哪几部分构成?答:一个完整的HTML文档通常由以下三部分组成:标记、 标记和 标记。 标记定义HTML文档的开始和结束。 标记用来说明文档标题以及该页面的其他信息,它构成HTML 文档的头部信息。 标记指定HTML文件的主体内容,即要在浏览器客户区中显示的内容。 文档主体,正文部分 2HTML文档的 head 容器元素通常包含哪几个元素?答:head 容器元素通常包含以下元素:title元素、 link元素、
12、meta 元素、 base 元素、script元素。3HTML文档的 body 容器元素通常包含哪几个元素?答: body 容器元素通常包含以下元素:text 定义标题。 # 表示标题的层次(较小的数字标记较重要的标题) ,text 表示标题的文本 标记文档主体中两个段落之间的间隔把图像插入到文档中,其中scr 属性给出图像地址text 定义超文本链接属性,并将结果返回给用户浏览器 放置一个横穿浏览器窗口的水平线text 标志一个作为邮递地址或电子邮件地址的文本块 在文本中强制换行 定义表格定义表单 定义表单的输入域,如单行文本框、按钮、单选按钮、复选框、隐藏域 定义表单的多行文本框名师资料总
13、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 4 定义表单的下拉列表4Body 元素的属性有哪些?答: Body元素的属性有:背景属性bgColor 背景色background 背景图案文字属性text 正文文字颜色link 链接文字颜色alink 活动链接文字颜色vlink 已访问链接文字颜色边距属性leftmargin 页面左侧的左边距topmargin 页面顶部的上边距5超链接标记的基本格式及其常用属性是什么?答:超链接标记的基
14、本格式: 链接文字 超链接标记的常用属性:target属性指定打开链接文件的窗口title 属性让鼠标在超链接上停留片刻后,显示该超链接的文字注释name属性定义在同一网页中跳转的位置6HTML表格元素的基本结构是什么?答: 表格元素的基本结构: . . . . . 7HTML表格的属性设置一般有哪些?答:表格的属性设置有:width 和 height属性分别指定表格一个固定的宽度和长度border 属性设定表格的边框风格cellspacing属性指定表格间线的宽度。align属性指定表格的单元格数据的水平排列方式。可分为三种:居左(left)、居右 (right)和居中 (center)。v
15、align属性指定单元格上下排列的设置,分为:上齐(top)、居中 (middle)、下齐(bottom)和基线 (baseline)。8HTML表单的基本结构是什么?答: HTML 表单标记的基本结构如下: 表单主体 9HTML表单的几种常用控件分别是什么?答: HTML表单的常用控件有:单行文本框、多行文本框、命令按钮、单选按钮、复选名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 5 框、下拉列表框、隐藏域等。10Drea
16、mweaver MX 2004 拥有哪些新功能?答: Dreamweaver MX 2004 拥有如下新功能:(1)简洁高效的设计和开发界面。(2) “插入”栏的改进。(3)用户界面改进。(4)起始页。(5)保存桌面选项。(6)完全支持 Unicode 。(7)安全 FTP:使用户能够完全加密所有文件传输。(8)新式的页面布局和设计环境。(9)增强的 CSS 功能。(10)动态跨浏览器验证。11如何定义Dreamweaver 的本地站点?答:参见教材P30-P33( 2.6.2小节)。第 3 章参考答案习题 3 选择题1、CDE 2、A 3、D 4、B 5、A 6、B 7、B 8、C 9、D
17、10、A 11、B 12、B 13、A 14、C 15、A 16、B 17、C 18、D 19、C 20、E第 4 章参考答案实验 4 1、参考相关Linux 版本软件的说明来安装(略)2、参见 4.2 节3、参见 4.3 节习题 4 1、参见 4.1 节 P72 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 6 2、参见 P74-75 3、在 Windows 的 DOS 提示符下,执行ipconfig /all 命令,可以
18、查看本机的IP 地址等信息4、127.0.0.1 称为本地回环地址,主要作用有两个:一是测试本机的网络配置,能PING 通127.0.0.1, 说明本机的网卡和IP 协议安装都没有问题;另一个作用是某些SERVER/CLIENT的应用程序在运行时需调用服务器上的资源,一般要指定SERVER 的 IP 地址,但当该程序要在同一台机器上运行而没有别的SERVER 时就可以把SERVER 的资源装在本机, SERVER的 IP 地址设为127.0.0.1 也同样可以运行。5、在Windows下,构建PHP 运行环境的的方法有两种:一种是IIS+PHP ;另一种是Apache+PHP。而在 Linux
19、 环境下,构建PHP 运行环境的的方法有一种:Apache+PHP。6、Apache 是 Web 服务器软件, PHP 是一种服务器端脚本解释语言,必须在Apache 运行后才能执行, 可由 Apache 将 PHP 作为其自身的一个子进程模块来运行,也可以作为外部进程,由 Apache 调用外部进程PHP,来解释PHP 程序。MySQL 是数据库服务器软件,无需 Apache 和 PHP 的运行支持环境。 但是,为了让 PHP程序能够访问MySQL 数据库,需要在PHP 的配置文件中装载MySQL 解释模块。7、要让 Apache 能够执行PHP 程序,修改Apache 的配置文件httpd
20、.conf 。 Windows 环境的httpd.conf 文件内容增加以下指令(CGI 方式):ScriptAlias /php/ c:/php/ AddType application/x-httpd-php .php Action application/x-httpd-php /php/php-cgi.exe 或者以 Apache 模块方式安装PHP , httpd.conf文件增加以下指令:LoadModule php5_module c:/php/php5apache2.dll AddType application/x-httpd-php .php 在 Windows 环境下,要
21、让PHP 程序能够访问MySQL 数据库,需要修改PHP 的配置文件 php.ini,增加以下指令:extension=php_mysql.dll 8、 要让 Apache 能处理扩展名为.php5、phtml 的程序,在Apache 的配置文件httpd.conf 中增加以下命令: AddType application/x-httpd-php .php5 .phtml 第 5 章参考答案习题 5 1、在 HTML文档中嵌入PHP代码的常用方法有三种: (1) (2) (3) 。 。 。 。 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
22、- - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 7 2、PHP 5支持整数、浮点数、布尔数、字符串、数组和对象等数据类型。3、利用表单传送数据给服务器时,需要将表单的action属性值设置为服务器端的某一个程序,如 PHP 、ASP 、JSP程序。4、 PHP的流程控制结构有分支结构、循环结构、顺序结构。分支结构的语句有if语句、switch语句;循环结构的语句有while 语句、 for语句、 do while语句。5、break 语句在循环语句中的作用是退出当前层循环。continue语句在循环中的作用是跳过当前循环体
23、的后续语句,进入下一轮循环。6、PHP 函数的参数传递方式有三种:按值传递参数、引用传递和默认值参数。采用按值传递参数时, 函数内部改变参数的值,不影响函数外相应的实际变量值。采用引用传递方式时,由于传递的是实际变量的地址给参数,因此函数内改变了参数的值,会影响相应的实际变量的值。 默认值参数用来指定参数的默认值,当调用时没给出默认值参数的实际数据,则使用默认值作用该参数的值。第 6 章参考答案习题 6 1、一个面向对象的应用程序实际上就是由一系列的相关对象所构成的。对象是封装了相应属性( Property )与方法( Method)的实体( Entity) 。其中,属性描述了对象的静态特征,
24、即对象的数据或状态;而方法则描述了对象的动态行为,即对象所能执行的功能或操作。应用程序中各对象之间的联系是通过传递消息(Message)来实现的。如果要让对象执行某个操作, 那么就必须向其发送一个消息;待对象接收到消息后,便可调用相应的方法去执行指定的操作。面向对象编程的主要特征是封装性、继承性、多态性。2、在 PHP中,使用关键字class 创建一个类。类的创建格式为:class classname / 属性定义var $propertyname_1; var $propertyname_2; . var $propertyname_n; / 方法定义function methodname_
25、1(.) . function methodname_2(.) . . function methodname_m(.) . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 8 3、创建对象通常又称为实例化一个类,在 PHP中需使用关键字new来实现, 其基本格式为:$objectname=new classname; 其中, objectname 为对象名, classname 为类名。4、访问对象的属性与方法,需使用“-
26、”运算符,其基本格式为:$objectname-propertyname $objectname-methodname(.) 5、构造函数是类中的一个特殊方法,在创建对象时被自动地调用。在 PHP5中,构造函数的名称则是固定的,即必须为_construct。构造函数的定义格式为: function _construct(参数表 ) 语句组 6、析构函数是在销毁对象时被自动调用的函数。通常,可在析构函数中执行一些在销毁对象前所必需完成的操作。在PHP5中,则可以使用析构函数,且其名称是固定的,即必须为_destruct。析构函数的定义格式为: function _destruct( 参数表 )
27、语句组 7、在 PHP5中使用访问控制关键字public 、private与 protected,控制类属性的访问范围。使用关键字public所声明的属性,可以在类的内部与外部进行访问,也可以被继承。这是类属性的默认访问方式。使用关键字private所声明的属性是私有的,只能在类的内部进行访问; 而使用关键字protected所声明的属性则是保护的,只能在类的内部及其子类中进行访问。8、 在类中创建方法时,若在关键字function前未使用其他任何关键字,则该方法是公共的,可在类的内部与外部直接进行调用。在PHP5中可以使用public 、private与 protected访问控制关键字,控
28、制类方法的访问范围。类方法的访问控制与类属性的访问控制是相似的。9、继承是面向对象编程的主要特征之一。在PHP中,只支持单重继承,即一个子类只能有一个父类。 通过继承而生成的子类,将自动拥有父类的有关属性与方法,还可声明新属性或定义新方法。类的继承使用关键字extends 来定义,其基本格式为:class childclassname extends parentclassname / 新属性var|public|private|protected $newpropertyname_1; var|public|private|protected $newpropertyname_2; . va
29、r|public|private|protected $newpropertyname_n; / 新方法public|private|protected function newmethodname_1(.) . public|private|protected function newmethodname_2(.) . . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 9 public|private|protected
30、function newmethodname_m(.) . 10. 在 PHP中,如何实现方法的重载?10、方法的重载, 是指在子类中重新定义父类中的同名方法。方法的重载体现了面向对象编程的多态性特征。11. 在 PHP中,如何实现对象的克隆?11、对象的克隆是指为已存在的对象建立副本。为了实现此类应用,PHP5提供了一个特殊的克隆函数 _clone()。在默认情况下,在克隆对象时将建立一个与原对象具有相同属性与方法的对象。12、对象的串行化是指将对象转化为一个字符串。对象的反串行化是指将对象的串行化字符串重新还原为原来的对象。在 PHP中使用 serialize()函数,将对象名串行化,返回
31、值为指定对象被串行化后的字符串。使用unserialize()函数来实现对象的反串行化,其参数为某对象的串行化字符串,返回值为重新组织好的对象。13、类的静态成员包括类的静态属性与静态方法。与一般的类成员不同,类的静态成员与对象(类的实例)无关,而只与类本身有关。静态成员类似于全局变量,由该类的所有实例共享;而静态方法则类似于全局函数,无需创建该类的实例即可直接进行调用。在 PHP中,静态成员是使用关键字static来进行声明的。对于静态成员,其访问方式也与一般的类成员不同。在类的内部,静态成员应通过特殊类self来进行访问,其基本格式为:self:$propertyname self:met
32、hodname(.) 在类的外部,静态成员则应通用类名来进行访问,其基本格式为:classname:$propertyname classname:methodname(.) 14、抽象方法是指使用关键字abstract定义的尚未实现(即没有任何代码)且无任何参数的以分号 “; ”结束的方法。 抽象类则是指使用关键字abstract定义的包含有一个或多个抽象方法的类。抽象类是不能被实例化的,但允许被继承。通过继承抽象类,可以生成相应的子类,并在其中全部或部分实现有关的抽象方法。抽象方法被实现后便成为一般的方法,而抽象类中所有的抽象方法均被实现后便成为一般的可被实例化的类。通常,可将抽象类作为其
33、子类的模板来看待,而其所包含的抽象方法则可作为相应的一般方法的占位符来看待。15、在 PHP5中,接口相当于一种特殊的抽象类,即只有一个抽象方法而无其他任何内容的抽象类。但与抽象类的定义不同,接口是使用关键字interface来进行定义的。定义了接口后,即可在创建类时使用关键字implements实现接口,并在类中为各方法编写具体的功能代码。16、_call()函数是 PHP5所提供的一个特殊函数,可在调用不存在的方法时自动地被调用,通常用于输出相应的错误信息。该函数有两个参数, 其中第一个参数用于接收相应的方法名,第二个参数用于接收相应的参数数组。17、 _autoload()函数是 PHP
34、5的一个特殊的预定义全局函数,其功能就是自动加载所需要的类。该函数只有一个参数,用于接收由系统自动传递的类名。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 10 第 7 章参考答案习题 7 1、date()和 getdate()函数的返回值类型不同。date()函数的返回值是将当前时间按照给定的格式串要求而产生的字符串。getdate()函数的返回值是当前时间的包含有日期和时间信息的数组。2、abefcdedefcd 3、
35、SsTtUuDdEeNnTt_AaBbCc. 第 8 章参考答案习题 8 1、MySQL 是一个多用户、多线程数据库服务器,是一个客户机/ 服务器结构的数据库系统,它由一个服务器守护程序mysqld 和多个不同的客户程序(mysql)和库组成。2、MySQL支持大量的字段类型,它可以被分为3 类:数字类型、日期和时间类型以及字符串类型。各种类型的存储大小和范围参见教材P168-170 的表 8.2 、表 8.3 、表 8.4 。3、mysql grant all privileges on db to John identified by abc; 4、Create Table命令建立一个新表
36、的结构,Alter Table命令更改已存在的表的定义(如修改列名、新增列、删除列、修改列的宽度等)。第 9 章参考答案习题 9 1、在 PHP中, MySQL 数据库编程的基本步骤如下:(1)建立与MySQL 数据库服务器的连接。(2)选择要对其进行操作的数据库。(3)执行相应的数据库操作,包括记录的检索、增加、修改、删除等。(4)关闭与MySQL 数据库服务器的连接。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 19 页 - - - - - - - - - 11
37、2、在 PHP中,使用mysql_connect()函数,建立与MySQL数据库服务器的连接。语法格式为: mysql_connect(server,username,password) 其中参数server为 MySQL数据库服务器名称;username 为用户名; password 为密码。 返回值为一个对应的连接标识号。3、在 PHP中,使用mysql_connect()函数关闭与MySQL 数据库服务器的连接,其语法格式为: mysql_close(link_identifier) 其中可选参数link_identifier为连接标识号。4、选择数据库的函数为:mysql_select
38、_db(database_name,link_identifier) 参数 database_name 为要打开的数据库名,link_identifier为连接标识号。5、首先构造SQL操作命令(查询、插入、删除、更新等)字符串,然后通过mysql_query()函数,将 SQL操作命令发送到MySQL 数据库服务器, 再由 MySQL 数据库管理系统执行收到的SQL命令,返回操作结果信息。mysql_query()函数格式为:mysql_query(query_statement, link_identifier) 其中参数query_statement为要执行的SQL命令字符串。6、使用
39、mysqli 函数库访问MySQL 数据库的基本方法有两种:(1)面向过程方法:与使用mysql 函数库访问方法相似( 参见第 1 题) ,只是函数名不是以mysql 开头,而是以mysqli开头。(2)面向对象方法:a. 创建 mysqli 类对象。$link=new mysqli(服务器名 ,用户名 , 密码 ) ;b. 选择数据库。$link-select_db(数据库名 ) ;c. 执行 SQL命令。 $link-query(SQL命令串 ) ;若 为查询操作, 应把函数值 存入一个结果 集变量中,如$rs=$link-query(SELECT ) ;然后对结果集$rs 的每个记录进行
40、操作。d. 关闭与 MySQL 服务器的连接。$link-close()。第 10 章参考答案习题 10 1、header() 函数的功能是用来向浏览器发送HTTP 头部信息。该函数的主要应用有:重定向网页、向浏览器发送非HTML文档的内容、显示“文件下载”对话框等,参见教材的例 10.1 例 10.8 。2、常见的MIME类型见教材P223表 10.1 。3、认证( Authentication)是用户使用系统前对其身份进行验证的过程。授权是对认证通过的合法用户赋予适当的操作权限。用户认证分为HTTP基本认证和摘要认证。而HTTP基本认证又分为基于Apache 服务器的基本认证、基于 PHP
41、 的基本认证、 基于数据库的基本认证和基于IP 地址的基本认证。4、HTTP 基本认证由Web服务器程序验证用户提供的用户身份凭证是否被接受,如果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 19 页 - - - - - - - - - 12 用户凭证被接受,那么用户就可以访问受保护的任何页面。HTTP 基本认证的过程如下:(1)客户端浏览器向服务器请求一个受保护的网页。(2)服务器向浏览器发送“401 Unauthorized”响应消息,从而在用户浏览器上显示输入网
42、络密码对话框。(3)用户提供了身份凭证后,再次通过GET方法向服务器发送HTTP请求。(4)服务器收到浏览器发送的第2 次请求后,解析认证信息,验证用户名和密码。如果验证通过,就向浏览器发送所请求的资源。5、 HTTP基本认证的实现可分为基于Apache 服务器的基本认证、基于 PHP 的基本认证、基于数据库的基本认证和基于IP 地址的基本认证。6、 在 HTTP基本认证中, PHP常量 $_SERVERPHP_AUTH_USER 、 $_SERVERPHP_AUTH_PW分别存放用户输入的用户名和密码。7、Apache 摘要认证采用MD5算法将用户密码添加到加密的摘要中,其安全性比基本认证更
43、加安全。Apache 的摘要认证由mod_auth_digest模块来实现。摘要认证的实现原理如下:(1)浏览器发送要求认证的URL请求。(2) 服务器向浏览器发送401 Unauthorized错误信息,以及 WWW-Authenticate: Digest认证标头进行响应。(3)浏览器上显示一个对话框,输入用户名和密码后,向服务器发送授权请求。(4)服务器收到授权请求后,使用明文的用户名在口令文件中查找所存储的“用户名 :域: 摘要散列值”。服务器根据这些信息使用相同的算法重新计算摘要,如果由客户发送的摘要与服务器计算得到的摘要相匹配,那么用户认证通过。8、基本认证和摘要认证的不同之处在于
44、:基本认证中,浏览器向服务器发送的认证消息是明文的,采用base64 编码,容易被窃取,而摘要认证中,浏览器向服务器发送的认证消息是采用MD5算法加密过的摘要信息,无法在网络中窃取密码信息。因此, 摘要认证比基本认证更安全。9、Cookie 是 Web服务器通过其页面的程序写到浏览器所在计算机硬盘上的一个数据文件。 Cookie 的主要用途是存储用户已经在一个Web站点上访问了哪些页面、最后访问时间、访问站点的次数以及用户输入的信息等。使用 Cookie 也存在着一些限制:(1)Cookie 主要用来存储少量的数据,不能用来保存大量数据。(2)每个网站最多保存20 个 Cookie 。(3)用
45、户可以设置浏览器,拒绝接受Cookie 。10、临时性 Cookie 是 Cookie 信息保存到关闭浏览器为止。当用户关闭浏览器结束会话过程之后自动清除临时性Cookie 。永久性Cookie 将信息保存在用户计算机的文本文件中,当用户关闭浏览器后,这些信息仍然保存计算机硬盘中。11、用 setcookie()函数设置永久性Cookie 时,必须要指定有效时间。12、Session 是在服务器端保存的与用户交互相关的变量和信息,其中的变量称为会话变量,记录有关浏览器会话的信息。Session 数据存放在服务器。13、 Session 和 Cookie 之间的区别是信息存放的位置不同,Sess
46、ion 信息存放在服务器,Cookie 信息存放在浏览器所在的计算机中。14、会话中的所有信息保存到服务器共享内存、会话文件或者数据库。默认情况下,Session 数据存放在共享内存中15、会话文件内容由多个会话变量字符串组成,每个字符串又由会话变量名、类型符和值三部分组成,会话变量字符串之间用分号隔开,格式为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 19 页 - - - - - - - - - 13 会话变量名 |类型符:值16、创建自定义会话处理程序,需要遵
47、循以下原则:(1)必须定义以下6 个会话处理函数,每个函数满足PHP的一个会话处理功能。另外,不管函数体是否使用参数,在函数定义中必须有相应的参数定义。(2)利用 PHP的 session_module_name()函数将会话存储方式设置为“user ” ,设置会话存储为用户方式,这样就可以由程序员自定义会话存储的媒体,如数据库、文本文件等。17、在默认情况下,PHP的会话的生命周期是1440 秒(即 24 分钟)。第 11 章参考答案习题 11 1、XML 即可扩展标记语言(eXtensible Markup Language ) 。XML 主要具有以下特点:可扩展性、数据及其显示相分离、具
48、有极强的平台独立性等。2、一个完整的XML 文档通常都包含有声明与主体两个部分。XML 声明为: XML 文档的主体实际上就是一个XML 元素,称为根元素。在根元素中包含其他有关元素,称为根元素的子元素。还可以在子元素中再包含其他的子元素。3、在 XML 中使用标记时,应遵循以下规则:(1)标记必须以“”结束。(2) 标记名必须以字母或下划线(_)开头,后面的字符可以是字母、数字、下划线(_) 、短横线( -)或小圆点( .) 。(3)标记名中不能包含有空格。4、XML 声明以“ ”结束,其语法格式为: version 属性指定 XML 的版本号,设置为“1.0” 。Encoding 属性指定
49、当前文档所使用的编码字符集,如GB2312、BIG5 。Standalone 属性指定当前文档是否为一个独立的文档(即是否需要引用其他外部文档)。若其值设为“ yes” ,则为独立文档(即无需引用其他文档);若其值设为“ no” ,则为非独立文档(即可能要引用其他文档)。5、XML 中元素的使用:一个XML 元素以起始标记开始、以结束标记终止,而元素的内容则置于起始标记与结束标记之间。6、XML 中属性的使用:属性依附于元素。在XML 的起始标记中也可以包含有一个或多个属性,且各个属性均以空格分隔开,而每个属性则是以等号(=)分隔的属性名与属性值对。7、XML 注释的使用:注释以“”结束,其语
50、法格式为: 8、XML 中预定义的五个字符实体如下:实体引用字符名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 - - - - - - - - - 14 & & < ' " 引用实体时,应以“&”开始,并以“;”结束。9、XML 中 CDATA 段的使用:CDATA 段的语法格式为: CDATA 段以“ ”结束,二者之间则为相应的文本内容。其中, “CDATA ”必须为大写形式。10、一个DTD 实际上就是一类XML文档的结构