即时应用CGI/Perl(附光盘)

点击看大图
  • 作者:美.索尔 美.伯尼克 美.切内斯 著 王宏秦 译
  • 出版社:人民邮电出版社
  • 出版时间:2002-05-01 00:00:00
  • 字数:1080
  • 版次:1版1次
  • 定价: 75.00 当前优惠价:63.75 元
  • 丛书名:
  • ISBN:7115100799
  • 页数:626
  • 开本:16开
  • 印次:1
内容提要:
内容提要
本书是一本关于CGI/Perl的综合参考书。其内容包括:工具包和体系结构、CGI安装和定制、文件设置和归档、修改Perl路径、理解和使用eXtropia应用程序、管理和保护数据等。
全书内容结构清晰,可以帮助读者快速找到所需要的信息,利用书中提供的大量代码和应用程序,你可以立即开始改造自己的网站。本书提供了有关CGI/Perl的高级技术,适合各类网络开发人员。
目录
第1部分 了解应用程序
第1章 引言 2
1.1 阅读本书的方法 2
1.1.1 本书的整体结构 2
1.1.2 阅读本书的方式 2
1.2 编写本书的原因 3
1.2.1 出发点 3
1.2.2 第1个Web应用程序:WebBBS 3
1.2.3 Selena Sol 脚本档案的诞生 4
1.2.4 让应用程序更规范 5
1.2.5 带有CGI/Perl的即时Web脚本 7
1.2.6 模型的局限性 8
1.2.7 面向对象的设计就是答案 9
1.2.8 eXtropia 应用程序开发工具箱(ADT) 10
1.2.9 即时CGI/Perl 10
第2章 有关安装的基础知识 12
2.1 12步骤的检查表 12
2.2 步骤1:准备站点 12
2.3 步骤2:获得安装文件 14
2.4 步骤3:复原应用程序档案文件 16
2.4.1 在UNIX上复原 16
2.4.2 在Windows和Mac上复原 18
2.4.3 复原时得到了什么 19
2.5 步骤4:指定文件权限 22
2.6 步骤5:修改Perl路径行 24
2.7 步骤6:配置应用程序 26
2.8 步骤7:修改应用程序的外观和感觉 26
2.9 步骤8:运行应用程序 27
2.10 步骤9:调试应用程序 28
2.10.1 Sherlock Holmes和被破坏的CGI应用程序的案例 28
2.10.2 CGI调试是一种思考状态 29
2.10.3 科学方法和调试的本质 29
2.10.4 从Hello World开始 29
2.10.5 找到您的位置 30
2.10.6 应用程序所看见的内容 32
2.11 高级错误诊断 34
2.11.1 命令行策略 35
2.11.2 日志文件分析 35
2.11.3 伪装为web浏览器 36
2.11.4 使用print "content-type:text/html/n/ntest";exit; 36
2.11.5 使用Data::Dumper 38
2.11.6 小结 39
2.12 步骤10:检查安全性 39
2.12.1 可能发生的最糟糕情况是什么 40
2.12.2 安全和Web服务器 40
2.12.3 CGI应用程序 40
2.12.4 检查应用程序 41
2.12.5 编写安全的CGI应用程序 41
2.12.6 停止嗅探器 42
2.12.7 可写入目录 44
2.12.8 用户输入 44
2.12.9 交叉站点脚本问题 45
2.12.10 感染模式 45
2.12.11 安全性和eXtropia应用程序 53
2.12.12 移动数据文件目录 54
2.13 步骤11和12:测试和注册 55
2.14 小结 56
第3章 使用应用程序可执行文件配置 EXTROPIA应用程序 57
3.1 什么是应用程序可执行文件 57
3.2 什么是ADT组件 57
3.3 配置整个应用程序 58
3.4 理解应用程序可执行文件的序言 59
3.4.1 执行Perl 60
3.4.2 导入支持perl模块 60
3.4.3 为eXtropia模块定义库路径 61
3.4.4 为了遵守mod_perl而删除库 61
3.4.5 导入eXtropia模块 62
3.4.6 对帮助程序对象作实例化处理 62
3.4.7 对输入表单数据进行标准化处理 62
3.5 怎样修改和测试配置选项 63
3.5.1 找到配置错误 63
3.5.2 怎样修改基于列表的配置参数 65
3.5.3 理解基于引用的配置参数 66
3.6 eXtropia应用程序的标准配置选项 67
3.6.1 会话和会话管理器配置 67
3.6.2 鉴别配置 69
3.6.3 鉴别管理器配置 73
3.6.4 数据处理程序管理器配置 76
3.6.5 数据源配置 80
3.6.6 日志配置 85
3.6.7 邮件设置 87
3.6.8 加密设置 90
3.6.9 视图设置 91
3.6.10 过滤器设置 94
3.6.11 操作处理程序设置 95
3.7 小结 99
第4章 用操作处理程序控制应用程序工作流程 101
4.1 操作处理程序基本知识 101
4.1.1 理解操作处理程序序言 102
4.1.2 用_rearrangeAsHash()方法预订@ACTION_HANDLER_ACTION_PARAMS 103
4.1.3 定义操作的逻辑 104
4.2 理解默认的操作处理程序 107
4.2.1 理解CheckForLogicalConfigurationErrorsAction 108
4.2.2 理解DisplaySessionTimeoutErrorAction 112
4.2.3 理解DownloadFileAction 113
4.2.4 理解DisplayAddFormAction 113
4.2.5 理解DisplayAddRecordConfirmationAction 115
4.2.6 理解ProceesAddRequestAcion 117
4.2.7 理解修改和删除操作处理程序 120
4.2.8 理解自定义搜索操作处理程序 120
4.3 理解Extropia::App 122
4.3.1 loadViewAndDisplay()方法 123
4.3.2 handleIncomingData()方法 123
4.3.3 getDataHandlerErrors()方法 124
4.3.4 setNextViewToDisplay()方法 124
4.3.5 setAdditionalViewDisplayParams()方法 124
4.3.6 sendMail()方法 124
4.3.7 getDate()方法 124
4.3.8 getCurrentTime()方法 124
4.4 理解Extropia::App::DBApp 125
4.4.1 loadData()方法 125
4.4.2 addRecord()方法 125
4.4.3 modifyRecord()方法 126
4.4.4 deleteRecord()方法 126


第5章 用视图定义应用程序的外观和感觉 128
5.1 基本视图介绍 128
5.1.1 定义包名 129
5.1.2 导入支持模块 129
5.1.3 声明视图继承 129
5.1.4 定义display()方法 129
5.2 视图和样式 131
5.3 用嵌入过滤器嵌入应用程序 133
5.4 其他视图内的视图 135
5.5 错误消息 137
5.6 棘手的表单 137
5.7 保持应用程序状态 140
5.8 添加自己的定制视图显示参数 141
5.9 处理记录集合 142
5.10 了解标准视图 144
5.10.1 默认eXtropia视图 144
5.10.2 理解ApplicationSubMenuView 145
5.10.3 理解ErrorDisplayView 148
5.10.4 理解InputWidgetDisplayView 150
5.10.5 理解PageTopView 154
5.10.6 理解PageBottomView 156
5.10.7 理解SessionTimeoutview 156
5.10.8 理解AddRecordView 157
5.10.9 理解AddRecordConfimationView 160
5.10.10 理解AddAcknowledgmentView 163
5.10.11 理解AddEventEmailView 165
5.10.12 理解BasicDataView 166
5.10.13 理解针对删除的视图 172
5.10.14 理解DetailsView 173
5.10.15 理解HiddenAdminFieldsView和URLAdminFieldsView 178
5.10.16 理解修改视图 181
5.10.17 理解和搜索相关的视图 181
第6章 应用程序高级设置 182
6.1 第一阶段:得到基本画面 182
6.1.1 理解应用程序可执行文件 182
6.1.2 理解SubmitAnswerView 185
6.2 第二阶段:添加数据源和额外字段 187
6.2.1 理解对应用程序可执行文件的改动 187
6.2.2 使用关系数据库 190
6.3 第三阶段:为执行数据源添加操作而添加操作处理程序 194
6.4 第四阶段:添加确认和肯定页面 197
6.4.1 理解对应用程序可执行文件的改动 198
6.4.2 理解对SubmitAnswerView的改动 201
6.5 第五阶段:数据处理和数据处理错误 203
6.5.1 理解对应用程序可执行文件的改动 203
6.5.2 理解对SubmitAnswerView的改动 207
6.6 第六阶段:从应用程序发送邮件 210
6.7 第七阶段:会话和鉴别 215
6.8 高级设置问题 222
6.8.1 载入设置文件 223
6.8.2 增强eXtropia应用程序性能 223
第7章 简单表单处理 227
7.1 表单处理功能 228
7.1.1 记录表单提交 228
7.1.2 鉴别 228
7.1.3 数据处理 230
7.1.4 确认和肯定 230
7.2 应用程序示例1:注释表单 230
7.2.1 应用程序可执行文件 232
7.2.2 自定义操作处理程序 234
7.2.3 定制视图 238
7.3 应用程序示例2:下载和跳转表单 244
7.3.1 应用程序可执行文件 245
7.3.2 定制操作处理程序 246
7.3.3 定制视图 246
7.4 应用程序示例3:Tell-a-Friend表单 247
7.4.1 应用程序可执行文件 248
7.4.2 定制操作处理程序 249
7.4.3 定制视图 249
7.5 应用程序示例4:在线调查表单 249
7.5.1 应用程序可执行文件 249
7.5.2 定制操作处理程序 252
7.5.3 定制视图 252
第8章 数据库前端 253
8.1 数据库功能 253
8.1.1 搜索、排序和查看数据 253
8.1.2 利用管理性接口添加、修改和删除数据 255
8.2 应用程序示例1:Guestbook 256
8.2.1 查看Guestbook条目 257
8.2.2 添加Guestbook条目 258
8.2.3 应用程序可执行文件 258
8.2.4 定制视图 260
8.3 应用程序示例2:Address Book 266
8.3.1 应用程序可执行文件 267
8.3.2 定制操作处理程序 268
8.3.3 定制视图 268
8.4 应用程序示例3:Document Manager 269
8.4.1 应用程序可执行文件 270
8.4.2 定制操作处理程序 271
8.4.3 定制视图 271
8.5 应用程序示例4:News Publisher 271
8.5.1 理解News Client 272
8.5.2 应用程序可执行文件 272
8.5.3 定制操作处理程序 273
8.5.4 定制视图 273
8.6 理解News Manager Administrator 278
8.6.1 应用程序可执行文件 279
8.6.2 定制操作处理程序 280
8.6.3 定制视图 280
第9章 进程管理应用程序 281
9.1 应用程序示例1:Project Tracker 281
9.1.1 应用程序可执行文件 281
9.1.2 定制视图 283
9.1.3 定制操作处理程序 283
9.2 应用程序示例2:Mailing List Manager 284
9.2.1 列表添加 285
9.2.2 列表删除 285
9.2.3 向整个列表发送邮件 287
9.2.4 应用程序可执行文件 287
9.2.5 定制视图 290
9.2.6 定制操作处理程序 299
9.3 应用程序示例3:Bug Tracker 307
9.3.1 应用程序可执行文件 307
9.3.2 定制视图 309
9.3.3 定制操作 314
第2部分 理解应用程序开发工具包
第10章 应用程序工具包体系结构 318
10.1 应用程序中的灵活性 318
10.1.1 灵活性 318
10.1.2 代码重用中的灵活性 319
10.1.3 应用程序开发工具包内的灵活性 320
10.2 处理Web应用程序 320
10.2.1 Web应用程序代码的演化 321
10.2.2 面向对象的Perl的演化 321
10.2.3 任务临界型应用程序的演化 321
10.3 应用程序体系结构 321
10.3.1 原则1:利用现有的代码 322
10.3.2 原则2:代码必须在所有Perl环境上运行 322
10.3.3 原则3:利用Perl的加速优点 322
10.3.4 原则4:提供安全保障 323
10.3.5 原则5:恰当地处理错误 323
10.3.6 原则6:提供模块应用程序设计 324
10.4 eXtropia 对象 327
10.5 引用和数据结构 329
10.5.1 引用 329
10.5.2 Cookies 330
10.5.3 蛋糕示例与Perl的关系 330
10.5.4 使用引用 331
10.5.5 使用引用来表示数据结构 334
10.5.6 引用小结 335
10.6 面向对象编程 335
10.6.1 过程化编程 335
10.6.2 过程化编程的局限性 336
10.6.3 面向对象编程的诞生 337
10.6.4 对象 337
10.6.5 更面向对象的抽象 339
10.6.6 封装 339
10.6.7 应用程序编程接口(API) 339
10.6.8 继承 340
10.6.9 多态 341
10.6.10 在Perl中编写对象 342
10.6.11 创建对象 343
10.7 接口和驱动程序 350
10.7.1 接口示例 350
10.7.2 接口的工作方式 353
10.8 接口/驱动程序模板 353
10.8.1 编码约定 354
10.8.2 如何编写接口和驱动程序 357
10.8.3 接口模板 358
10.8.4 驱动程序模板 360
10.9 使用Extropia::Base 363
10.9.1 接受命名和位置参数 365
10.9.2 指定默认值 366
10.9.3 加载驱动程序 367
10.9.4 使用复杂的数据结构 367
10.9.5 处理错误 368
10.10 处理错误 369
10.10.1 使用die()、croak()和confess() 369
10.10.2 使用Extropia::Error 370
10.10.3 用Eval处理异常 371
10.11 小结 373
第11章 用视图和筛选设计用户界面 374
11.1 分离UI与View模块的设计 374
11.1.1 要点1:视图从其他视图继承 375
11.1.2 要点2:视图可以包含其他视图 375
11.1.3 要点3:视图返回数据 376
11.1.4 要点4:视图可以筛选 376
11.1.5 要点5:视图可以缓存 377
11.2 使用视图和筛选 378
11.2.1 视图 379
11.2.2 筛选 381
11.3 _loadViewAndDisplay()方便方法 382
11.4 如何编写视图 384
11.4.1 创建视图模块 384
11.4.2 视图代码示例 386
11.4.3 创建视图模块小结 387
11.5 如何编写筛选驱动程序 387
11.6 理解视图模块 388
11.6.1 视图体系结构 389
11.6.2 视图方法 390
第12章 使用数据处理程序处理输入数据 391
12.1 验证 392
12.2 解除感染 392
12.3 数据转换 392
12.4 使用数据处理程序管理器 393
12.4.1 使用数据处理程序管理器的小结 396
12.4.2 创建数据处理程序管理器 399
12.4.3 数据的验证 399
12.4.4 “清洁”数据 405
12.4.5 转换数据 412
12.4.6 综合应用所有处理程序 417
12.5 使用数据处理程序 418
12.6 如何编写数据处理程序管理器 419
12.7 如何编写数据处理程序 420
12.8 基本的数据处理程序管理器的体系结构 430
12.9 基本的数据处理程序的体系结构 431
第13章 使用EXTROPIA::LOCK锁定资源 433
13.1 不使用flock()的原因 433
13.2 锁定资源和锁定文件 433
13.3 使用锁 436
13.3.1 创建锁 437
13.3.2 定义锁驱动程序 438
13.3.3 锁定资源和资源解锁 442
13.3.4 处理锁的错误 443
13.3.5 锁定资源后的清除 444
13.4 如何编写锁驱动程序 444
13.5 基本的锁体系结构 446
第14章 使用EXTROPIA::ENCRYPT保护数据 447
14.1 加密基础 448
14.1.1 传统的双向加密 449
14.1.2 对称加密 450
14.1.3 非对称加密 451
14.1.4 数据签名 451
14.1.5 单向加密 451
14.2 使用加密模块 453
14.2.1 创建加密程序 456
14.2.2 加密驱动程序的定义 456
14.2.3 加密数据 460
14.2.4 比较加密数据 461
14.2.5 配置PGP加密 461
14.3 如何编写加密驱动程序 463
第15章 使用KEYGENERATOR生成密钥 465
15.1 密钥生成的策略 465
15.1.1 POSIX 465
15.1.2 随机 465
15.1.3 计数器 466
15.1.4 进程 467
15.1.5 组合 467
15.1.6 总结 467
15.2 使用KeyGenerator 467
15.2.1 密钥生成器驱动程序 468
15.2.2 创建密钥生成器 470
15.2.3 密钥生成器驱动程序的定义 470
15.2.4 创建密钥 473
15.3 编写密钥生成器驱动程序的方式 474
第16章 使用UNIQUEFILE创建独立文件 475
16.1 生成独立文件名 476
16.1.1 短暂的文件名 476
16.1.2 不容易猜测的文件名 476
16.1.3 包含基于计数器ID的文件名 476
16.1.4 包含应用程序信息的文件名 477
16.1.5 使用Extropia::UniqueFile处理这些情形 477
16.2 使用独立文件 477
16.2.1 创建独立文件 478
16.2.2 删除独立文件 479
16.2.3 其他独立文件操作 479
16.2.4 查找临时目录 480
16.2.5 总结 480
第17章 使用EXTROPIA::MAIL从应用程序中发送电子邮件 481
17.1 使用Mail 481
17.1.1 创建邮寄程序 482
17.1.2 邮件驱动程序的定义 482
17.1.3 发送邮件 484
17.1.4 安装驱动程序 486
17.2 如何编写邮件驱动程序 488
第18章 使用SESSION和SESSIONMANAGER 维护状态 490
18.1 会话基础 490
18.1.1 方法1:HTML表单变量 491
18.1.2 方法2:PATH_INFO环境变量 491
18.1.3 方法3:Cookies 492
18.1.4 总结 492
18.1.5 会话 493
18.1.6 会话管理器 494
18.2 使用会话 494
18.2.1 创建会话 498
18.2.2 会话驱动程序的定义 499
18.2.3 获取属性和设置属性 506
18.2.4 可选方法:使用会话散列 507
18.2.5 会话元数据的管理 507
18.2.6 数据和锁定策略 508
18.3 使用会话管理器 510
18.3.1 创建会话管理器 511
18.3.2 会话管理器驱动程序的定义 512
18.3.3 创建会话 515
18.3.4 获取当前活动会话的列表 515
18.3.5 删除旧会话 515
18.4 如何编写会话驱动程序 515
18.5 如何编写会话管理器驱动程序 520
18.5.1 实现会话管理器 520
18.5.2 结论 521
第19章 使用EXTROPIA::DATASOURCE访问数据 522
19.1 Data Source的优点 522
19.1.1 数据抽象 523
19.1.2 数据源术语 524
19.2 使用DataSource 525
19.2.1 创建数据源 527
19.2.2 使用数据源查询语言 536
19.2.3 增加数据 538
19.2.4 删除数据 540
19.2.5 更新数据 541
19.2.6 批处理更改 542
19.2.7 检索数据 544
19.3 使用RecordSets 548
19.3.1 检索数据 549
19.3.2 获取整个RecordSet的信息 551
19.3.3 RecordSet的其他方法 551
19.3.4 选择作业的正确RecordSet类型 553
19.3.5 RecordSets和CGI 556
19.4 使用DataType和Sort对象 558
19.4.1 使用DataTypes 558
19.4.2 使用Sort 559
19.5 编写定制驱动程序 560
19.5.1 体系结构概述 560
19.5.2 编写DataSource驱动程序 561
19.5.3 编写RecordSet驱动程序 572
19.5.4 编写Sort对象 573
19.5.5 编写DataType对象 573
19.6 理解DataSource和RecordSet 576
19.6.1 幕后添加记录 576
19.6.2 幕后搜索 577
第20章 用EXTROPIA::AUTH实现WEB应用程序安全性 581
20.1 身份认证和授权 581
20.1.1 Extropia :: auth体系结构 581
20.1.2 auth管理 583
20.1.3 auth 584
20.1.4 auth缓存 584
20.1.5 auth场景 585
20.2 使用auth管理器 589
20.2.1 创建auth管理器 590
20.2.2 auth管理器驱动程序的说明 590
20.2.3 用户身份认证 596
20.2.4 用户授权 596
20.2.5 获取用户信息 596
20.2.6 设置缓存用户信息 597
20.2.7 刷新缓存的用户信息 597
20.2.8 注销 597
20.3 使用auth 598
20.3.1 创建auth对象 598
20.3.2 auth驱动程序的说明 599
20.3.3 用户身份认证 605
20.3.4 用户注册 606
20.3.5 搜索用户 606
20.3.6 用户授权 607
20.3.7 获取用户信息 607
20.3.8 设置缓存用户信息 607
20.3.9 刷新缓存用户信息 607
20.4 使用Auth::Cache 607
20.4.1 创建Auth::Cache对象 607
20.4.2 Auth::Cache驱动程序的说明 608
20.4.3 获取用户信息 610
20.4.4 设置缓存用户信息 610
20.4.5 用户授权 611
20.4.6 管理组缓存 611
20.4.7 清除缓存 611
20.5 如何编写auth管理器驱动程序 611
20.6 如何编写auth驱动程序 613
20.7 如何编写Auth::Cache驱动程序 615
第21章 使用EXTROPIA::LOG记录日志 617
21.1 使用日志 617
21.1.1 创建日志 618
21.1.2 定义日志驱动程序 619
21.1.3 写入日志 625
21.2 编写日志驱动程序的方式 625
21.2.1 实现日志 625
21.2.2 浏览Extropia::Log::File 代码 626
21.3 理解基础日志模块 627
上一篇:下面没有链接了

图书评论

共有 位CH网友发表了评论 查看完整内容

站长资讯图书信息

阅读提示