CGI Programming and You

CGI – The Common Gateway Interface

Joshua Sled

eXperimental Computing Facility


Table of Contents
1. Introduction
What is CGI?
What's it useful for?
2. Usage
How it works [an overview]
Invocation
Standard Input
Standard Output
Environment Variables
URL-Encoding
Form-Data Format
3. Programming Concerns
Server-Side File Access
File Access and Permissions
Platform-Specific Issues
Security Concerns
Watch what is done with form data.
Don't allow access to binaries.
4. Programming Paradigm
Non-Interactive Processing
Segmented User Interaction
Multiple Simultaneous Invocations
5. Conclusion
6. Resources for CGI Programmers
7. Examples
Simple form example.
Basic form decoding/output example.
Generating dynamic content from a form identifier.
CGI-based image selection.
A. CGI Environment Variables
Always set.
Request Specific
Miscellaneous
B. Invoking CGI Programs Without the Web Server