CGI Programming with Perl
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
- @subrelated, URLs related to first-level URL: 14.5. CGI Gateway to XML Middleware
- SAX (Simple API for XML) style parser: 14.5. CGI Gateway to XML Middleware
- scalar context, list context vs.: 2.4.2.4. Date
- scalars
- variable data types in perl as: 1.3.1. Why Perl?
- WDDX data types and: 7.3.1. WDDX
- scatter charts, creating: 13.4.2. GD::Graph
- Schwartzian Transform, precalculating file modification times: 12.3.1. Search Application
- scope
- variables, pragmas depending on: 6.4.2.2. Variable scope
- variables within code blocks enclosed with bracket pairs: 6.4.2.2. Variable scope
- ScriptAlias command: 1.4.1.1. Configuring by directory
- scripts, Perl CGI (see CGI programs Perl language)
- scrolling boxes: 4.2.4. The <SELECT> Tag
- example: 4.2.4. The <SELECT> Tag
- multiple values, handling: 4.3. Decoding Form Input
- search application for indexes: 12.3.1. Search Application
- search engines: 12. Searching the Web Server
- CGI middleware and: 14. Middleware and XML
- fgrep command: 12.1. Searching One by One
- grep command: 12.2. Searching One by One, Take Two
- inverted index search: 12.3. Inverted Index Search
- LWP module, getting data from: 14.5. CGI Gateway to XML Middleware
- regex-based: 12.2.1. Regex-Based Search Engine
- resource data from, XML documents: 14.4. Writing an XML Parser
- XML-based (Netscape browser): 14.4. Writing an XML Parser
- search form for What's Related CGI script: 14.5. CGI Gateway to XML Middleware
- search strings: 2.1.1. Elements of a URL
- 2.1.1. Elements of a URL
- (see also query strings)
- searching for font repositories: 13.5.4. Image Processing
- secure connections: 3.2.1. CGI Environment Variables
- (see also SSL)
- environment variables, adding for: 3.2.1. CGI Environment Variables
- Secure Socket Layer (see SSL)
- security: 8. Security
- browsers, trusting: 8.2.5. Trusting the Browser
- CGI scripts, configuration by file name extension and: 1.4.1.2. Configuring by extension
- data storage: 8.5. Data Storage
- dynamic filenames: 8.5.1. Dynamic Filenames
- file permissions: 8.5.3. File Permissions
- location of files: 8.5.2. Location of Files
- encryption: 8.3. Encryption
- exec command (SSI), risks of enabling: 6.2.1. Configuration
- fgrep command, passing through shell: 12.1. Searching One by One
- JavaScript restrictions, bookmarklets and: 7.4.2. Bookmarklets and CGI
- programs sending email, risks of: 9.5. mailx and mail
- sending email: 9.1. Security
- false identities: 9.1.2. False Identities
- mailers and shells: 9.1.1. Mailers and Shells
- spam: 9.1.3. Spam
- servers
- minimal access privileges of: 15.1.1. Application Permissions
- symbolic links, problems with: 1.4.1.1. Configuring by directory
- taint mode, using: 8.4. Perl's Taint Mode
- user authentication and identification: 3.4.2. User Authentication and Identification
- user data, passing through shell
- avoiding with -t option, sendmail: 9.4.1. Command-Line Options
- user input, handling: 8.2. Handling User Input
- strategies: 8.2.3. Security Strategies
- web security, importance of: 8.1. The Importance of Web Security
- Select elements
- creating with Embperl: 6.4.3.2. List elements
- JavaScript support for: 7.2.1.1. Validating elements
- SELECTED attribute, tag: 4.2.4.1. The <OPTION> tag
- selecting data in databases: 10.3.3. Accessing Data
- self-referencing hypertext links back to scripts: 14.5. CGI Gateway to XML Middleware
- SelfLoader module: 17.1.6. SelfLoader
- self_url method (CGI.pm): 5.2.1.5. self_url
- semi-autonomous clients (JavaScript-enabled web pages): 7.3. Data Exchange
- sender address, email messages: 9.3. Structure of Internet Email
- sendmail: 9.4. sendmail
- command-line options: 9.4.1. Command-Line Options
- mail queue: 9.4.2. Mail Queue
- Mail::Mailer module, using with: 9.6. Perl Mailers
- mailx and mail programs vs.: 9.5. mailx and mail
- Server header: 2.4.2.8. Server
- complete headers, including in: 3.3.2. Complete (Non-Parsed) Headers
- Server Side Includes (see SSI)
- SERVER_NAME environment variable: 5.2.1.7. virtual_host
- SERVER_PROTOCOL environment variable: 3.3.2. Complete (Non-Parsed) Headers
- servers: 2.3.2.4. Authorization
- (see also web servers)
- authorization requirements of: 2.3.2.4. Authorization
- buffering, handling (script for finding): 3.3.2. Complete (Non-Parsed) Headers
- certificates, information about: 3.2.1. CGI Environment Variables
- communicating with other: 14.1. Communicating with Other Servers
- sockets: 14.1.1. Sockets
- configuring to execute CGI application with user HTML document requests: 11.1. Query Strings and Extra Path Information
- content negotiation, performing: 2.6. Content Negotiation
- daemons, turning Perl CGI applications into: 17. Efficiency and Optimization
- document tree, excluding data files from: 8.5.2. Location of Files
- environment variables specific to, listing: 3.2.2. Examining Environment Variables
- error logs, checking: 15.3.2. Check Error Logs
- filesystems, using to control data file access: 8.5.3. File Permissions
- host name: 2.3.2.1. Host
- HTML form data, sending to: 4.1. Sending Data to the Server
- HTTP: 2. The Hypertext Transport Protocol
- user authentication: 3.4.2. User Authentication and Identification
- information servers: 7.3. Data Exchange
- Internal Server Error status code: 3.3.1.3. Specifying status codes
- minimal access privileges of: 15.1.1. Application Permissions
- output to client, buffering: 3.1.1.2. STDOUT
- remote processes as: 14.1. Communicating with Other Servers
- request/response cycle: 2.2.1. The Request and Response Cycle
- response to HTTP GET request: 11. Maintaining State
- responses: 2.4. Server Responses
- 11. Maintaining State
- headers: 2.4.2. Server Headers
- proxies, using for: 2.5. Proxies
- searching: 12. Searching the Web Server
- fgrep command, using: 12.1. Searching One by One
- grep command, using: 12.2. Searching One by One, Take Two
- inverted index, using: 12.3. Inverted Index Search
- SMTP: 9.6. Perl Mailers
- verifying email addresses: 9.2. Email Addresses
- SSI (see SSI)
- STDERR, handling output to: 3.1.1.3. STDERR
- users, running as
- file permissions and: 10.1.2. Write Permissions
- X Windows server, adding hostname or IP address: 15.3.5.2. ptkdb
- Service Unavailable error messages: 3.3.1.3. Specifying status codes
- 3.3.1.3. Specifying status codes
- servlets, CGI vs.: 1.3.2. Alternatives to CGI
- session identifiers
- get_id function, returning with: 11.2. Hidden Fields
- in hidden field: 11.2. Hidden Fields
- storing on client side with cookies: 11.3. Client-Side Cookies
- sessions, user: 11. Maintaining State
- set command: 6.2.2. Format
- Set-cookie header: 2.4.2.9. Set-Cookie
- setting cookies
- in redirection: 11.3.2. Testing for Cookies
- SHA-1 (Secure Hash Algorithm): 8.3. Encryption
- digests, producing with: 8.3.2. SHA-1
- shadow_text.cgi script (example): 13.5.4. Image Processing
- shared file locks: 10.1.1.1. flock
- shells
- avoiding accessing to maximize performance: 17.1.8. Avoid the Shell
- email addresses, passing through as parameters: 9.1.1. Mailers and Shells
- external, Perl taint checking: 8.4.2. What Is Monitored by Taint Mode
- fgrep command, passing through: 12.1. Searching One by One
- user data, passing through
- avoiding with -t option (sendmail): 9.4.1. Command-Line Options
- dangerous characters: 8.2.2. User Input and the Shell
- user input and: 8.2.2. User Input and the Shell
- shopping cart example
- maintaining state across: 11. Maintaining State
- subroutines for handling requests: 11.2. Hidden Fields
- utility functions: 11.2. Hidden Fields
- signature (see boilerplates)
- sign_petition.cgi script (example): 10.1.4. Delimiters
- single empty tags, XML vs. HTML: 14.2. An Introduction to XML
- single quotes around arguments, security and: 8.2.3. Security Strategies
- site_perl directory, saving error module in: 5.5.4. Custom Module
- SIZE attribute
- tag: 4.2.4. The <SELECT> Tag
- text fields: 4.2.3.1. Text fields
- size, calculating for directories: 5.2.4. File Uploads with CGI.pm
- slowness, CGI applications: 17. Efficiency and Optimization
- slurping, avoiding: 17.1.4. Avoid Slurping
- SMTP protocol
- command to validate email addresses: 9.2. Email Addresses
- Mail::Mailer, using with: 9.6. Perl Mailers
- Net::SMTP module, using with: 9.6. Perl Mailers
- sockets: 14.1.1. Sockets
- 14.1.1. Sockets
- (see also SSL)
- identifying in host IP addresses: 14.1.1. Sockets
- IO::Socket module: 14.1.2. IO::Socket
- $socket instance variable, use as file handle: 14.1.2. IO::Socket
- sort command
- execution within pipe, checking for: 15.2.3. Is It Open?
- source code (CGI scripts), security risks from revealing: 1.4.1.1. Configuring by directory
- spaces
- in email addresses: 9.2.1. Validating Syntax
- between HTML elements, CGI.pm and: 5.3.3. Standard HTML Elements
- indenting code with: 16.2. Coding Guidelines
- list element separation, eliminating in: 5.3.3. Standard HTML Elements
- plus (+) character, replacing with: 4.3. Decoding Form Input
- URLs
- encoding as + or %20: 2.1.3. URL Encoding
- replacing with plus (+) sign: 4.1. Sending Data to the Server
- spam: 9.1.3. Spam
- falsifying sender identity: 9.1.2. False Identities
- split command: 4.3. Decoding Form Input
- spreadsheets, CSV data format in: 10.1.5. DBD::CSV
- SQL (Structured Query Language): 10.3. Introduction to SQL
- accessing CSV-format data with: 10.1.5. DBD::CSV
- accessing data: 10.3.3. Accessing Data
- inserting data: 10.3.2. Inserting Data
- Oracle PL/SQL programming language: 16.1.6. Separating Storage from Your Primary Code
- queries: 16.1.6. Separating Storage from Your Primary Code
- passing to prepare command: 10.4.1.3. Database querying
- starting with execute command: 10.4.1.3. Database querying
- troubleshooting errors: 10.4.2.1. Address book database creation script
- SRC attribute: 4.2.3.8. Image buttons
- SSI (Server Side Includes): 6.2. Server Side Includes
- # in: 6.2.7. Common Errors
- access counters: 6.2.6. Executing CGI Programs
- boilerplate files: 6.2.5. Including Boilerplates
- CGI script execution, enabling to use exec command: 6.2.1. Configuration
- commands: 6.2. Server Side Includes
- 6.2.2. Format
- environment variables, inserting into static HTML documents: 6.2.3. Environment Variables
- exec command: 6.2.1. Configuration
- enabling without enabling exec tag: 6.2.1. Configuration
- Mason module component approach vs.: 6.5.1. A Component Approach
- parsing CGI output, inability to: 6.2. Server Side Includes
- servers, configuring to parse: 6.2.1. Configuration
- SSL (Secure Socket Layer)
- CGI programs and: 2.2. HTTP
- https connections using: 8.3. Encryption
- stale responses, determining: 2.5.2. Caching
- standard input (see input STDIN)
- standard output (see output STDOUT)
- standard syntax, CGI.pm module: 5.1.3. Standard and Object-Oriented Syntax
- start tags (XML), defining handler for: 14.5. CGI Gateway to XML Middleware
- starting and ending HTML documents: 5.3.2. Starting and Ending Documents
- starting bracket pair: 6.4.2.1. Embperl code blocks
- state
- maintaining: 11. Maintaining State
- client-side cookies: 11.3. Client-Side Cookies
- hidden fields: 11.2. Hidden Fields
- query strings and extra path information: 11.1. Query Strings and Extra Path Information
- summary of techniques for: 11. Maintaining State
- stateless (nonpersistent) HTTP requests: 11. Maintaining State
- static documents
- HTML
- embedding dynamic text banners in: 13.5.4. Image Processing
- for web server response: 1.2. Introduction to CGI
- for general errors: 3.4.1. Check the Client Browser
- language and media type negotiation for: 2.6.2. Internationalization
- static HTML documents, inserting environment variables into: 6.2.3. Environment Variables
- static vs. dynamic resources: 1.1.1. How CGI Is Used Today
- status
- Image::Magick, returning with method calls: 13.5.2. Converting PNGs to GIFs or JPEGs
- system calls, checking: 15.2.2. Check Status of System Calls
- status codes: 2.4.1. The Status Line
- header method, specifying with: 5.3.1.2. Status
- printing: 3.3.1.3. Specifying status codes
- redirection of client request: 2.4.2.7. Location
- specifying with Status header, CGI output: 3.3.1.3. Specifying status codes
- status headers
- CGI scripts, output: 3.3.1. Partial Headers
- CGI scritps, output: 3.3.1.3. Specifying status codes
- common, description of: 3.3.1.3. Specifying status codes
- status line: 2.2.2. HTTP Headers
- 2.4. Server Responses
- complete headers, including in: 3.3.2. Complete (Non-Parsed) Headers
- STDERR (standard error): 3.1.1. File Handles
- output to, sending to server error log: 5.5.1. Dying Gracefully
- server error logs and: 15.3.2. Check Error Logs
- STDIN (standard input): 1.2. Introduction to CGI
- 3.1.1. File Handles
- GET requests, problems with: 3.1.1.1. STDIN
- tainted data, checking for: 8.4.1. How Taint Works
- STDOUT (standard output): 1.2. Introduction to CGI
- 3.1.1. File Handles
- buffering output to, header errors and: 15.1.4. "Malformed" Header
- CGI programs, printing to: 3.1.1.2. STDOUT
- Embperl module, use of: 6.4.2.1. Embperl code blocks
- stem.pl program: 12.3. Inverted Index Search
- Storable module: 10.2.2. MLDBM
- storage, separating from primary code: 16.1.6. Separating Storage from Your Primary Code
- store.cgi script (example): 11.3.2. Testing for Cookies
- strategic programming: 16.1. Architectural Guidelines
- directories, organizing projects with: 16.1.2. Use Directories to Organize Your Projects
- strict mode: 1.2.1. Sample CGI
- mod_perl, use with: 17.3.2. mod_perl Considerations
- strict module
- error prevention in Perl and CGI scripts: 15.2.1. Use strict
- restrictions, turning off: 15.2.1. Use strict
- strings
- command-line options taking arguments, indicating: 12.3. Inverted Index Search
- double quoted, @ character in: 13.5.4. Image Processing
- format:filename string: 13.5.2. Converting PNGs to GIFs or JPEGs
- perl treatment of: 1.3.1. Why Perl?
- structure, Internet email: 9.3. Structure of Internet Email
- Structured Query Language (see SQL)
- style guide topics, CGI application coding: 16.2. Coding Guidelines
- style sheets
- HTML documents, defining for: 5.3.2.1. start_html
- XML documents, guiding browser display: 14.2. An Introduction to XML
- Subject field, email messages: 9.3. Structure of Internet Email
- submit buttons: 4.2.3.6. Submit buttons
- actions, specifying for CGI script to perform: 10.4.2.2. Address book CGI script
- flow, controlling with: 16.1.8. Using Submit Buttons to Control Flow
- image buttons, supporting as: 5.2.2.4. Supporting image buttons as submit buttons
- online music browser example: 7.3.2. Example
- validating form input: 7.2.1.2. Validating submits
- 7.2.1.3. Validation example
- subroutines
- array context and: 4.3. Decoding Form Input
- bareword vs. strict: 15.2.1. Use strict
- capitalization of, standardizing: 16.2. Coding Guidelines
- constants, defining as (mod_perl): 17.3.2. mod_perl Considerations
- declarations, bracket pairs enclosing (Embperl): 6.4.2.1. Embperl code blocks
- display_whats_related_to_whats_related: 14.5. CGI Gateway to XML Middleware
- email addresses, validating: 9.2.1. Validating Syntax
- error handling: 5.5.3. Error Subroutines
- get subroutine: 14.5. CGI Gateway to XML Middleware
- get_whats_related_to_whats_related: 14.5. CGI Gateway to XML Middleware
- 14.5. CGI Gateway to XML Middleware
- handle_start: 14.5. CGI Gateway to XML Middleware
- hiding with SelfLoader module: 17.1.6. SelfLoader
- requests, handling (shopping cart example): 11.2. Hidden Fields
- with same name, avoiding collisions of: 5.1.3. Standard and Object-Oriented Syntax
- strict rules for, using: 1.2.1. Sample CGI
- sub parse_form_data (example): 4.3. Decoding Form Input
- tainted variables, checking for: 8.4.1. How Taint Works
- URI::URL module: 2.1.3. URL Encoding
- suffixes to words, removing: 12.3. Inverted Index Search
- symbolic links, security problems with: 1.4.1.1. Configuring by directory
- symbolic references, preventing with strict reference mode: 15.2.1. Use strict
- symlinks, mapping web site content into the corresponding directories on web server: 16.1.2. Use Directories to Organize Your Projects
- syntax
- CGI programs, checking: 15.3.1. Check Syntax
- email addresses, validating: 9.2.1. Validating Syntax
- invalid, web browser requests: 3.3.1.3. Specifying status codes
- Perl, checking for errors: 15.1.4. "Malformed" Header
- SSI commands: 6.2.2. Format
- XML, simplicity of: 14.2. An Introduction to XML
- system functions
- checking status for error prevention: 15.2.2. Check Status of System Calls
- commonly used: 15.2.2. Check Status of System Calls
- exec: 15.1.2. The Pound-Bang
- system loads, calculating and graphing (loads.cgi script): 13.3.2. Using GD
- systems, problems with output stream buffering: 15.2.6. Unbuffer Output Stream
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
Copyright © 2001 O'Reilly & Associates, Inc. All Rights Reserved.