第一章 Linux的基础知识 1
1.1 Linux简介 1
1.1.1 Linux的历史 1
1.1.2 Linux系统 1
1.1.3 Linux的主要特点 2
1.2 Linux的主要版本 3
1.2.1 RedHat 3
1.2.2 Slackware Linux 4
1.2.3 Debian GNU/Linux 4
1.3 Linux常用的应用程序与开发工具简介 4
1.3.1 应用程序(Applications) 4
1.3.2 开用(Develoment)工具包 7
1.4 Linux平台下Web编程的特点 12
1.5 小结 13
第二章 Web概述 14
2.1 万维网(Word Wide Web) 14
2.1.1 Web的由来及现状 14
2.2.2 Web的特点 15
2.2 客户/服务器模式 15
2.3 URL 16
2.4 超文本传输协议(HTTP) 16
2.5 TCP/IP协议 17
2.7 Web 浏览器 18
2.6 HTML 18
2.5.2 IP协议 18
2.5.1 TCP协议 18
2.8 小结 19
第三章 Web服务器的安装和配置 20
3.1 Apache服务器简介 20
3.2 Apache服务器的安装 21
3.2.1 如何获得Apache Server 21
3.2.2 编译源程序 21
3.2.3 Apache服务器的目录结构 22
3.2.4 Apache服务器的启动方法和主要选项 22
3.3 Apache服务器的配置 23
3.3.1 httpd.conf 24
3.3.2 access.conf 36
3.3.3 srm.conf 38
3.4 小结 38
第四章 公共网关接口(CGI) 39
4.1 通用网关接口(CGI) 39
4.1.1 CGI 的含义 39
4.1.2 使用CGI 的理由 39
4.1.3 CGI 的工作过程 40
4.2 程序间的通信方式 40
4.2.1 从客户机到服务器的通信方式 40
4.3.1 服务器专有环境变量 41
4.3 环境变量 41
4.2.2 从服务器到CGI 程序的通信方式 41
4.2.3 CGI 程序返回数据的方式 41
4.3.2 请求专有环境变量 42
4.3.3 客户专有环境变量 43
4.4 数据传送方法 43
4.4.1 传送方法 43
4.4.2 GET方法 44
4.4.2 POST方法 44
4.4.4 实现方法 44
4.5 CGI脚本使用的数据类型 44
4.5.1 MIME的含义 44
4.5.2 MIME 数据类型方案简介 44
4.5.3 常用MIME 数据类型 45
4.6 Linux上CGI编程语言简介 47
4.6. 1 Perl 47
4.6. 2 C/C++ 48
4.6. 3 Shell Script 48
4.6. 4 PHP3 48
4.6. 5 TCLTK 48
4.7 小结 48
第五章 表单的实现 49
5.1 表单 49
5.2.3 RADIO 50
5.2.2 PASSWORD输入域 50
5.2.1 TEXT输入域 50
5.2 INPUT 50
5.2.4 CHECKBOX输入域 51
5.2.5 FILE 51
5.2.6 SUBMIT和RESET 51
5.2.7 例子 51
5.3 SELECT和OPTION 53
5.4 TEXTAREA 54
5.5 小结 56
6.1.2 Shell 的种类 57
6.1.1 Shell 基础 57
6.1 Shell概述 57
第六章 Shell语言简介 57
6.1.3 Shell 的基本功能 58
6.1.4 Shell 的特点 58
6.2 Bash的基础知识 58
6.2.1 Bash 的特点 59
6.2.2 Bash 基本语法结构 59
6.2.3 Bash 的环境变量 65
6.3 小结 66
7.2 Shell如何完成CGI的功能 67
7.1.2 CGI对Shell的要求 67
7.1.1 Shell CGI 的优点 67
7.1 使用Shell编写CGI 67
第七章 用Shell编写CGI程序 67
7.3 一个简单的例子 68
7.4 显示环境变量 69
7.5 表单的处理 70
7.5.1 思路 71
7.5.2 调查表的表单 71
7.5.3 表单的处理 73
7.6 计数器 76
7.6.1 思路 76
7.6.2 计数器的实现 76
7.7 Shell CGI的缺点 77
7.8 小结 78
8.1 Perl语言简介 79
8.1.1 Perl的主要要用途 79
第八章 Perl Script简介 79
8.1.3 程序的运行 80
8.1.4 程序的调试方法 80
8.1.2 一个简单的例子 80
8.2.1 标量的概念 81
8.2.2 标量值 81
8.2 标量 81
8.2.3 标量变量 83
8.2.4 标量变量操作符 83
8.2.5 操作符优先级 87
8.3 数组变量 88
8.3.1 数组变量的赋值 88
8.3.2 数组变量无素访问 89
8.3.3 数组变量运算符 89
8.4 控制结构 90
8.4.1 if/unless 90
8.4.2 while/until 91
8.4.5 die() 92
8.4.4 foreach语句 92
8.4.6 last语句退出循环 92
8.4.3 for语句 92
8.5.1 关联数组的变量 93
8.5.2 关联数组操作符 93
8.5 关联数组 93
8.6.1 从STDIN输入 94
8.6.2 从<>操作符输入 94
8.6 基本I/O处理 94
8.7 子程序 95
8.7.1 子程序的调用 95
8.6.3 向STDOUT输出 95
8.7.2 子程序返回值 96
8.8 内部函数 96
8.9 文件处理 99
8.9.1 打开文件 99
8.9.2 读文件 99
8.9.3 写文件 100
8.9.4 关闭文件 100
8.9.5 检测文件状态 100
8.10 Perl的进程管理 100
8.11 包 101
8.11.1 包的基本概念 101
8.11.2 作用范围 101
8.11.3 符号表 101
8.12 模块 102
8.12.1 模块的定位 102
8.12.2 模块引用 103
8.14 小结 103
9.1 为什么使用Perl 104
9.2 处理表单信息 104
第九章 用Perl编写CGI程序 104
9.2.1 用Perl进行表单的处理 105
9.2.2 表单处理实例 106
9.3.1 思路 112
9.3.2 计数中顺的实现 112
9.3 简单例子——访问记数器 112
9.4.1 思路 114
9.4.2 留言板的表单 114
9.4 来宾留言板的实现 114
9.4.3 表单的处理 116
9.5.1 聊天室的执行行程 119
9.5.2 连接的方法 119
9.5 聊天室 119
9.5.3 交谈服务器的实现 120
9.5.4 用户信息处理 121
9.5.5 一个简单的聊天室 122
9.6 cgi-lib-p1 128
9.7.1 如何使用CGI.pm 129
9.7.2 引用CGI.pm的方法说明 129
9.7 CGI.pm 129
9.7.3 CGI.pm方法的使用 130
9.7.4 常用的CGI.pm方法 133
9.7.5 CGI.pm中的HTML标记 135
9.7.6 CGI.pm中的表单处理 136
9.8 小结 140
10.1.1 C/C++CGI的优点 141
10.1 C/C++支持CGI的原因 141
10.1.2 C/C++的公共库 141
第十章 C/C++的CGI开发技术 141
10.2.2 使用C/C++的API 142
10.2.3 简单例子:hello world! 142
10.2 用C/C++编写CGI程序 142
10.2.1 CGI的输入输出 142
10.3 表单的处理方法 143
10.3.1 数据的解码 144
10.3.2 数据的输出 147
10.4 用C语言进行表单处理 147
10.5 电子信箱 152
10.5.1 思路 152
10.5.2 表单内容的实现 152
10.5.3 发信服务的实现 153
10.6 小结 156
11.1.1 PHP3的历史 157
11.1.2 PHP3的特点 157
第十一章 PHP3 157
11.1 PHP3概述 157
11.2 PHP3的安装和配置 158
11.2.1 PHP3的安装 158
11.2.2 PHP3的配置 159
11.2.3 PHP3脚本的执行 159
11.3 PHP3的语法和结构 160
11.3.1 PHP3的定界符和分隔符 160
11.3.2 变量 160
11.3.3 类 161
11.3.5 类型转换 162
11.3.4 变量作用域 162
11.3.6 运算符 163
11.4 控制结构 164
11.4.1 while 164
11.4.2 if-elseif-else 164
11.4.3 FOR 165
11.4.4 SWITCH 165
11.5 自定义函数 165
11.5.1 函数的定义 165
11.5.2 返回值 166
11.5.3 参数 166
11.5.4 include和require 166
11.6 常用库函数 167
11.6.1 字符串操作函数 167
11.6.4 文件操作函数 168
11.6.2 正则表达式函数 168
11.6.3 目录遍历函数 168
11.6.5 时间函数 169
11.6.6 图像函数 170
11.6.7 数据库函数 171
11.7 PHP的安全问题 174
11.8 小结 175
12.1.1 GD库的安装 176
12.1.2 简单例子 176
第十二章 动态创建图像 176
12.1 GD库 176
12.1.3 常用函数说明 178
12.1.4 C语言API使用示例 180
12.1.5 GD.pm使用示例 182
12.1.6 PHP3 API使用示例 185
12.2 Ghostscript 189
12.2.1 计数器的图形化例子 189
12.2.2 Ghostscript解释器和Postscript代码 193
12.3 小结 199
第十三章 Sever Side Includes(SSI) 200
13.1 SSI概述 200
13.2 SSI工作原理 200
13.3 为SSI 配置Apache服务器 200
13.4.1 #include命令 201
13.4 SSI 常用命令 201
13.4.2 #echo命令 202
13.4.4 flastmod 203
13.4.5 #config 203
13.4.3 #fsize 203
13.4.6 #exec 204
13.5 安全性 205
13.6 小结 205
第十四章 安全问题 206
14.1 Web 站点安全问题 206
14.2 Web 站点的保护对象 207
14.2.1 保护信息和资源 207
14.2.2 保护用户 207
14.2.3 保护重要的对象 207
14.3 Web 站点的安全隐患 208
14.3.1 Web 服务器安全 208
14.3.2 客户与服务器间的交易安全 208
14.3.3 错误与疏漏 208
14.3.4 危险的方式 209
14.3.5 不合理数据 209
14.4.1 语言的选择 210
14.3.6 内部伤害 210
14.4 如何保护Web站点 210
14.4.2 不要相信表单数据 211
14.4.3 拒绝不合理要求的表单数据 212
14.4.4 处理路径数据 213
14.4.5 检验数据长度 214
14.4.6 处理文件名 214
14.4.7 验证数据满足字段规则 215
14.4.8 处理外部进程 216
14.4.11 使用他人CGI脚本时的注意事项 217
14.5 安全性评定 217
14.4.10 本地文件安全 217
14.4.9 CGI脚本权限 217
14.6 小结 218
第十五章 Web数据库及其工具 219
15.1 数据库的基本知识 219
15.1.1 关系数据库 219
15.1.2 SQL(Structured Query Language)结构化查询语言 220
15.1.3 SQL的优点 220
15.2 Web数据库的选择 221
15.2.1 Linux下常用的关系数据库系统简介 221
15.2.2 数据库方案分析 223
15.3 MySQL 224
15.3.1 MySQL概述 224
15.3.2 MySQL的主要特点 224
15.3.4 MySQL的安装 225
15.3.3 获取MySQL 225
15.3.5 MySQL的启动方法 226
15.3.6 MySQL 的系统管理 227
15.3.7 MySQL 的使用 229
15.3.8 MySQL 的客户端工具和API接口函数 230
15.3.9 MySQL 的稳定性 231
15.4.1 PostgreSQL 数据库简介 232
15.4.2 PostgreSQL 的特点 232
15.4 PostgreSQL数据库 232
15.4.3 PostgreSQL 的安装和配置 233
15.4.4 PostgreSQL 的启动 234
15.4.5 PostgreSQL 的使用 235
15.4.6 PostgreSQL 的客户端工具和接口简介 235
15.4.7 PostgreSQL 的安全机制 237
15.5 Web数据库的性能分析 238
15.6 小结 238
16.1.2 NDBM 239
16.1.1 DBM 239
16.1.3 Berkeley Db 239
16.1 DBM数据库的不同版本 239
第十六章 使用DBM数据库 239
16.1.4 GDBM 240
16.2 DBM 数据库的使用 240
16.3 DBM 数据库的信息检索 243
16.4 DBM 数据库的信息查询 246
16.5 小结 250
第十七章 Web数据库的开发 251
17.1 方案的选择 251
17.3 MySQL和PHP3的组合 252
17.3.1 准备工作 252
17.2 一个简单数据库查询的工作过程 252
17.3.2 连接数据库 253
17.3.3 数据库操作 254
17.3.4 数据操作 254
17.3.5 一个典型的例子 254
17.3.6 综合实例:phpMyAdmin分析 257
17.4 PostgreSQL和Perl组合 257
17.4.1 准备工作 268
17.4.2 连接数据库 269
17.4.3 数据库操作 269
17.4.4 获取查询结果 269
17.4.5 实现查询的例子 270
17.4.6 关于数据安全的讨论 271
17.5 DBI 272
17.5.1 DBI的标准方法 273
17.5.2 连接数据库驱动 274
17.5.3 执行SQL语句 274
17.5.4 结果处理 275
17.5.5 典型例子 276
17.6.1 C语言 277
17.6.2 Perl语言 277
17.6 各种组合的比较 277
17.6.3 PHP3 278
17.7 小结 278
18.1 应用程序涉及的知识点 279
18.1.1 数据库结构 279
第十八章 综合实例:图书销售系统的实现 279
18.1.2 DBI接口 280
18.1.5 图书订购程序 281
18.1.4 书库管理程序 281
18.2 系统的主页 281
18.1.3 DBM数据库 281
18.2.1 公共例程 282
18.2.2 SSI(Server-side include)的应用 283
18.2.3 密码保护 285
18.3 书库管理 287
18.3.1 书库管理的主页面 288
18.3.2 对书库的各表进行维护 289
18.4 图书订购 298
18.4.1 基本思路 298
18.4.2 客户ID的生成 299
18.4.3 客户ID的传递 300
18.4.4 给客户发送HTML页面 301
18.4.5 图书查询 302
18.4.6 把图书放入购物车 308
18.4.7 订单的管理 312
18.4.8 获取客户信息 319
18.4.9 结帐离开 325
18.5 小结 329
7.1.3 Shell CGI的使用范围 678