Secure PHP Development- P5
lượt xem 7
download
Secure PHP Development- P5: Welcome to Secure PHP Development: Building 50 Practical Applications. PHP has come a long way since its first incarnation as a Perl script. Now PHP is a powerful Web scripting language with object-oriented programming support. Slowly but steadily it has entered the non-Web scripting arena often reserved for Perl and other shell scripting languages. Arguably, PHP is one of the most popular Web platforms.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Secure PHP Development- P5
- Contents xix RESOURCE_KEYWORD table . . . . . . . . . . . . . . . . . . . . . . . . 361 RESOURCE_VISITOR table . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Designing and Implementing the Internet Resource Manager Application Classes . . . . . . . . . . . . . . . . . . . . . . 362 Designing and implementing the IrmCategory class . . . . . . . . . 362 Designing and implementing the IrmResource class . . . . . . . . . 364 Designing and implementing the Message class . . . . . . . . . . . 368 Creating Application Configuration Files . . . . . . . . . . . . . . 369 Creating the main configuration file . . . . . . . . . . . . . . . . . . . 369 Creating a messages file . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Creating an errors file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Creating Application Templates . . . . . . . . . . . . . . . . . . . . . 373 Creating a Category Manager Application . . . . . . . . . . . . . 374 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 addDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 modifyDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 addCategory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 modifyCategory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 deleteCategory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 displayModifyCategoryMenu() . . . . . . . . . . . . . . . . . . . . . . . 377 displayAddCategoryMenu() . . . . . . . . . . . . . . . . . . . . . . . . . 377 populateCategory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 populateSubCategory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 showMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 showWithTheme() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Creating a Resource Manager Application . . . . . . . . . . . . . 379 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 addDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 modifyDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 populateCategory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 populateSubCategory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 showAddMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 addResource() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 showModifyMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 modifyResource() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 delete() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 displayDescription() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 selectResource() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 displayWithTheme() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Creating a Resource Tracking Application . . . . . . . . . . . . . 385 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 keepTrack() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
- xx Contents Creating a Search Manager Application . . . . . . . . . . . . . . 386 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 populateCategory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 populateSubCategory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 populateResource() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 showMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 displaySearchResult() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 sortAndDisplay() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 displaySearResultNextandPrevious() . . . . . . . . . . . . . . . . . . . 389 showTopRankingResource() . . . . . . . . . . . . . . . . . . . . . . . . . 390 showMostVisitedResource() . . . . . . . . . . . . . . . . . . . . . . . . . 390 showWithTheme() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 sortByResourceTitle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 sortByResourceAddedBy() . . . . . . . . . . . . . . . . . . . . . . . . . . 391 sortByResourceRating() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 sortByResourceVisitor() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Installing an IRM on Your Intranet . . . . . . . . . . . . . . . . . . 391 Testing IRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Security Concerns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Chapter 12 Online Help System . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Functionality Requirements . . . . . . . . . . . . . . . . . . . . . . . . 403 Understanding the Prerequisites . . . . . . . . . . . . . . . . . . . . 404 Designing and Implementing the Help Application Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Designing and implementing the Help class . . . . . . . . . . . . . . 404 Creating Application Configuration Files . . . . . . . . . . . . . . 415 Creating a main configuration file . . . . . . . . . . . . . . . . . . . . 415 Creating a messages file . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Creating an error message file . . . . . . . . . . . . . . . . . . . . . . . 417 Creating Application Templates . . . . . . . . . . . . . . . . . . . . . 417 Creating the Help Indexing Application . . . . . . . . . . . . . . . 418 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 makeIndex() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 getMapHash() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Creating the Help Application . . . . . . . . . . . . . . . . . . . . . . 420 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 getCommand() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 getAppInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 showHelp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 displayOutput() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 doSearch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Installing Help Applications . . . . . . . . . . . . . . . . . . . . . . . 423
- Contents xxi Testing the Help System . . . . . . . . . . . . . . . . . . . . . . . . . . 424 Security Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Restricting access to makeindex.php script . . . . . . . . . . . . . . . 428 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 Part III Developing E-mail Solutions Chapter 13 Tell-a-Friend System . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Functionality Requirements . . . . . . . . . . . . . . . . . . . . . . . . 431 Understanding Prerequisites . . . . . . . . . . . . . . . . . . . . . . . 433 Designing the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 TAF_FORM Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 TAF_FRM_BANNED_IP Table . . . . . . . . . . . . . . . . . . . . . . . . 434 TAF_FRM_OWNER_IP Table . . . . . . . . . . . . . . . . . . . . . . . . . 434 TAF_MESSAGE Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 TAF_MSG_OWNER_IP Table . . . . . . . . . . . . . . . . . . . . . . . . 434 TAF_SUBMISSION Table . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 TAF_SUBSCRIPTION Table . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Designing and Implementing the Tell-a-Friend Application Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Designing and implementing the Form class . . . . . . . . . . . . . . 436 Designing and implementing the Message class . . . . . . . . . . . 442 Designing and implementing the AccessControl class . . . . . . . 444 Creating Application Configuration Files . . . . . . . . . . . . . . 446 Creating the main configuration file . . . . . . . . . . . . . . . . . . . 446 Creating a Messages file . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Creating an Errors file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Creating Application Templates . . . . . . . . . . . . . . . . . . . . . 450 Creating the Tell-a-Friend Main Menu Manager Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 displayTAFMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 Creating a Tell-a-Friend Form Manager Application . . . . . 452 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 addModifyDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 displayAddModifyMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 addModifyForm() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 deleteForm() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 Creating a Tell-a-Friend Message Manager Application . . . 454 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 addModifyDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 displayAddModifyMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 addModifyMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 deleteMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
- xxii Contents Creating a Tell-a-Friend Form Processor Application . . . . 457 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 processRequest() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Creating a Tell-a-Friend Subscriber Application . . . . . . . . 458 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 processRequest() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 Creating a Tell-a-Friend Reporter Application . . . . . . . . . . 459 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 generateFormCreatorReport() . . . . . . . . . . . . . . . . . . . . . . . . 460 generateOriginReport() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 Installing a Tell-a-Friend System . . . . . . . . . . . . . . . . . . . . 461 Testing the Tell-a-Friend System . . . . . . . . . . . . . . . . . . . . 462 Creating Msg for Friend (Introduction Msg) . . . . . . . . . . . . . . 464 Security Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 Chapter 14 E-mail Survey System . . . . . . . . . . . . . . . . . . . . . . . . . 473 Functionality Requirements . . . . . . . . . . . . . . . . . . . . . . . . 474 Architecture of the Survey System . . . . . . . . . . . . . . . . . . 475 Designing the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Designing and Implementing the Survey Classes . . . . . . . . 479 Designing and implementing the Survey Class . . . . . . . . . . . . 479 Designing and implementing the SurveyList Class . . . . . . . . . . 480 Designing and implementing the SurveyForm Class . . . . . . . . 482 Designing and implementing the SurveyResponse Class . . . . . . 483 Designing and implementing the SurveyReport Class . . . . . . . . 484 Designing and Implementing the Survey Applications . . . 484 Developing Survey Manager . . . . . . . . . . . . . . . . . . . . . . . . 485 Developing Survey List Manager . . . . . . . . . . . . . . . . . . . . . 486 Developing Survey Form Manager . . . . . . . . . . . . . . . . . . . . 488 Developing Survey Execution Manager . . . . . . . . . . . . . . . 489 Developing Survey Response Manager . . . . . . . . . . . . . . . . . . 491 Developing Survey Report Manager . . . . . . . . . . . . . . . . . . . 492 Setting Up the Central Survey Configuration File . . . . . . . 493 Setting Up the Interface Template Files . . . . . . . . . . . . . . . 497 Setting Up the Central Survey Messages File . . . . . . . . . . . . . 498 Setting Up the Central Survey Errors File . . . . . . . . . . . . . . . . 498 Creating Survey Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 Testing the Survey System . . . . . . . . . . . . . . . . . . . . . . . . . 500 Security Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 Chapter 15 E-campaign System . . . . . . . . . . . . . . . . . . . . . . 507 Features of an E-campaign System . . . . . . . . . . . . . . . . . . 507 Architecting an E-campaign System . . . . . . . . . . . . . . . . . 509 Designing an E-campaign Database . . . . . . . . . . . . . . . . . . 511
- Contents xxiii Understanding Customer Database Requirements . . . . . . . 515 Designing E-campaign Classes . . . . . . . . . . . . . . . . . . . . . . 516 Creating a List class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 Creating a URL class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 Creating a Message class . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Creating a Campaign class . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Creating a URL Tracking class . . . . . . . . . . . . . . . . . . . . . . . 521 Creating an Unsubscription Tracking class . . . . . . . . . . . . . . . 522 Creating a Report class . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Creating Common Configuration and Resource Files . . . . . 523 Creating an e-campaign configuration file . . . . . . . . . . . . . . . 523 Creating an e-campaign messages file . . . . . . . . . . . . . . . . . . 526 Creating an e-campaign errors file . . . . . . . . . . . . . . . . . . . . 526 Creating Interface Template Files . . . . . . . . . . . . . . . . . . . . 526 Creating an E-campaign User Interface Application . . . . . 528 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 displayMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Creating a List Manager Application . . . . . . . . . . . . . . . . . 528 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 addDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 modifyDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 displayAddListMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 displayModListMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 modifyList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 modifyDatabaseFieldMap() . . . . . . . . . . . . . . . . . . . . . . . . . . 531 delList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 takeMap() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 addList() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 addDatabaseFieldMap() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Creating a URL Manager Application . . . . . . . . . . . . . . . . 532 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 addURLDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 authorize() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 modifyURLDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 delURL() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 displayAddURLMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 addURL() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 displayModifyURLMenu() . . . . . . . . . . . . . . . . . . . . . . . . . . 534 modifyURL() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 Creating a Message Manager Application . . . . . . . . . . . . . 535 run() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 addDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 modifyDriver() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
CÓ THỂ BẠN MUỐN DOWNLOAD
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn