Martin E. Psinas is a recognized security expert and valued member of the open - source community. He has been contracted as a technical editor, code auditor, and is a published author with Pearson Education as well as the #1 PHP magazine, PHP|Architect . In his free time, he maintains his personal web site and is a volunteer administrator/contributor at codewalkers.com — a resource for PHP & MySQL developers. Martin interacts frequently with the leaders of the PHP project as well as PHP User ’ s Groups.
Introduction | p. xi |
User Registration | p. 1 |
Plan the Directory Layout | p. 1 |
Planning the Database | p. 2 |
Writing Shared Code | p. 3 |
User Class | p. 5 |
CAPTCHA | p. 9 |
Templates | p. 11 |
Registering a New User | p. 12 |
E-mailing a Validation Link | p. 17 |
Logging In and Out | p. 21 |
Changing Information | p. 25 |
Forgotten Passwords | p. 28 |
Summary | p. 30 |
Community Forum | p. 31 |
Design of the Forum | p. 31 |
Designing the Database | p. 32 |
Working with Permissions and Bitwise Operators | p. 33 |
Updating the User Class | p. 35 |
Code and Code Explanation | p. 40 |
Adding Forums | p. 41 |
Adding Posts | p. 43 |
Displaying Forums and Posts | p. 47 |
Pagination | p. 55 |
Avatars | p. 56 |
BBCode | p. 59 |
Summary | p. 62 |
Mailing List | p. 63 |
Design of the Mailing List | p. 63 |
Choosing POP3 | p. 64 |
Designing the Database | p. 65 |
Code and Code Explanation | p. 66 |
The POP3 Client | p. 66 |
The Configuration File | p. 73 |
Account Management | p. 73 |
Processing Messages | p. 79 |
Processing the Digest | p. 83 |
Setting Up the Mailing List | p. 83 |
Summary | p. 86 |
Search Engine | p. 87 |
Designing the Search Engine | p. 87 |
Problems with Full-Text Search | p. 88 |
Designing the Database | p. 89 |
Code and Code Explanation | p. 91 |
Administrative Interface | p. 91 |
Crawler/Indexer | p. 98 |
Front End | p. 104 |
Summary | p. 110 |
Personal Calendar | p. 113 |
Designing the Application | p. 113 |
Designing the Database | p. 114 |
Code and Code Explanation | p. 115 |
Creating a Month-View Calendar | p. 115 |
Creating a Day-View Calendar | p. 120 |
Adding and Showing Events | p. 121 |
Sending Reminders | p. 129 |
Exporting the Calendar | p. 130 |
Summary | p. 135 |
Ajax File Manager | p. 137 |
Design of the Ajax File Manager | p. 137 |
JavaScript and Ajax | p. 138 |
The XMLHttpRequest Object | p. 139 |
Code and Code Explanation | p. 142 |
Main Interface | p. 143 |
Client-Side Functionality | p. 147 |
Server-Side Functionality | p. 160 |
Summary | p. 175 |
Online Photo Album | p. 177 |
Design of the Online Photo Album | p. 177 |
Code and Code Explanation | p. 178 |
Views | p. 178 |
Helper Files | p. 188 |
QuickTime Thumbnails | p. 190 |
Thumbnail Caching | p. 192 |
Summary | p. 193 |
Shopping Cart | p. 195 |
Designing the Shopping Cart | p. 195 |
Designing the Database | p. 196 |
Code and Code Explanation | p. 197 |
The ShoppingCart Class | p. 197 |
Working with the Shopping Cart | p. 201 |
Building the Storefront | p. 209 |
Adding Inventory | p. 217 |
Summary | p. 238 |
Web Site Statistics | p. 239 |
Determining What to Collect | p. 239 |
Designing the Database | p. 241 |
Obtaining Data | p. 242 |
Code and Code Explanation | p. 244 |
Pie Chart | p. 244 |
Bar Chart | p. 248 |
The Report | p. 253 |
Summary | p. 264 |
News/Blog System | p. 265 |
Tables | p. 265 |
Adding Posts | p. 267 |
Generating the RSS | p. 278 |
Displaying Posts | p. 282 |
Adding Comments | p. 285 |
Summary | p. 289 |
Shell Scripts | p. 291 |
Designing the Script | p. 292 |
General Shell Scripting Advice | p. 293 |
Code and Code Explanation | p. 294 |
The CommandLine Class | p. 294 |
Startproject | p. 303 |
The Skeleton | p. 313 |
Summary | p. 314 |
Security and Logging | p. 315 |
Cross-Site Scripting | p. 315 |
Path Traversal | p. 318 |
Injection | p. 320 |
SQL Injection | p. 320 |
Command Injection | p. 324 |
Weak Authentication | p. 325 |
Logging | p. 327 |
Preventing Accidental Deletes | p. 330 |
Summary | p. 332 |
Index | p. 333 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.