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.

Категории