intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Secure PHP Development- P5

Chia sẻ: Cong Thanh | Ngày: | Loại File: PDF | Số trang:5

92
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Secure PHP Development- P5

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2