previous page: CGI-BIN Scripts by Category
page up: WebMastering & Other Programming
next page: CGI-BIN Scripts by Owner Part 1



Faqs and TroubleShooting:

  • The Tutorials Search Engine (http://www.findtutorials.com)
  • CGI/Perl Taint Mode FAQ (http://www.gunther.web66.com/FAQS/taintmode.html) (by Gunther Birznieks)
  • CGI Troubleshooting Tips (http://webreview.com/wr/pub/98/07/31/perl/index.html)
  • CGI City - CGI References (http://server.htmlhelp.org/tools/cg-eye/)- Very nice collection of CGI related references.
  • cg-eye (http://server.htmlhelp.org/tools/cg-eye/) - cg-eye is a test harness for HTTP and CGI. It may be used as an intermediate stage between running your software from the commandline and putting it online, and will diagnose a number of potential problems.
    cg-eye has three components:
    • cg-eye offline - A test harness to simulate a CGI environment offline, without the need for a browser or HTTP server. See also Tom Christiansen's Idiot's Guide.
    • cg-eye interactive - An online harness to specify an HTTP request to send to your server and print diagnostics on the server's response. See also brian d foy's httpeek.
    • cg-eye live - An online harness to intercept a request from a browser (normally generated "live" from an HTML form) and forward it to your server. Details of both the Request and the server's Response are printed. See also Nick Kew's Header Dumper.
  • A test suite for HTTP and CGI development (http://server.htmlhelp.org/tools/cg-eye/) - cg-eye is a test harness for HTTP and CGI. It may be used as an intermediate stage between running your software from the commandline and putting it online, and will diagnose a number of potential problems.
  • CGI Programming OpenFAQ (http://www.boutell.com/openfaq/cgi/)
  • Idiot's Guide to Solving Perl/CGI Problems (http://www.perl.com/perl/faq/cgi/idiots-guide.html)
  • CGI Programming FAQ (http://www.webthing.com/page.cgi/cgifaq)by Nick Kew
  • A PERL cgi FAQ (http://www.perl.com/perl/faq/perl-cgi-faq.html)
  • Ask Dr. WebSite (http://www.webweek.com/drwebsite/index.html) - Many common questions answered - HTML , Forms and interactive design , Graphics, sound, and video , Java and JavaScript , Frames , Site management ,Statistics and access checkers .
  • CGI Abort Libraries (http://wwwtest.gdb.org/browser/abort/cgiAbort.html)- A problem with the httpd/cgi protocol occurs when a user presses the Stop button on the browser. The web server that is responding to the request is given no immediate notice to abort its process...
  • ADV-HTML Mailing List Summaries (http://risc.ua.edu/adv-html/)
  • Search the HTML and Advance HTML Mailing List's Database (
  • Java CGI HOWTO (http://sunsite.unc.edu/linux/HOWTO/Java-CGI-HOWTO.html)
  • CGI: why things don't work (http://www.tardis.ed.ac.uk/~angus/Computing/Programming/Perl/Notes/CGIDebugging.html)
  • CGI: Getting information about the user (http://www.tardis.ed.ac.uk/~angus/Computing/Programming/Perl/Samples/AboutCallerID.html)

Cgi Tutors and Guides:

  • Rex Swain's E-Mail Form (http://www.pcnet.com/~rhswain/mailform.html)
  • Cross-platform Perl/CGI tips and tricks (http://www.developer.com/journal/techworkshop/120498_perl.html)
  • CGI Overview (http://webreview.com/96/12/13/wian/index.html)
  • WebReview Tutorial Series (http://webreview.com/wr/pub/Perl)
  • CGI Developer's Guide (http://www.developer.com/reference/library/1575210878/ewtoc.html) by Eugene Eric Kim
  • CGI Tutorials (http://www.htmlgoodies.com/cgi.html) by Joe Burns So you want to create a guestbook in CGI? Or a counter, a BBS or to telnet? This page has links to tutorials for all of the above. A great way to get you started in the world of CGI. The tutorials include what you have to do before you can start on your application as well as possible error messages.
  • Teach Yourself CGI Programming with PERL 5 in a Week, (http://www.developer.com/reference/library/1575211963/ewtoc.html) Second Edition by Eric Herrmann This book answers a few key questions that plagued the author early in his CGI career: What is CGI programming anyway and what is the big deal? And why the heck is it called a gateway? Very good questions. Read on for the answers.
  • CGI --The Common Gateway Interface (http://www.htmlgoodies.com/cgi.htm)--This page will quickly explain what a CGI is, and how you can have one written specifically for your needs.
  • CGI RESOURCES (http://www.webresource.net/cgi/resources/)and cgiARTICLES (http://www.webresource.net/cgi/articles/) (webresource.net)
  • Writing Object-Oriented CGIs with Perl (http://www.developer.com/news/techworkshop/050798_perloop.html)- This article briefly discusses how you can write object-oriented CGI scripts using Perl. The article introduces some of Perl's object-oriented concepts and syntax. The article also discusses Lincoln Stein's CGI class which you can use off-the-shelf to rapidly develop robust CGI scripts. The article concludes by extending Mr. Stein's CGI class to develop a small template engine used in processing a multi-page form.
  • Welcome to CGI for the Total Non-Programmer. (http://www.webteacher.com/perltour/index.htm) (Cool) - This tutorial will walk you through the basics of creating CGIs with Perl on a Unix platform. Unlike other tutorials I've read, this does not assume you know anything about CGIs, Perl, or Unix.
  • The following set of examples has been used by Tom and Tom's trainers in some of their Perl training courses.Many will find their way into the Perl Cookbook that should be out late this spring, so are necessarily copyrighted by Tom unless otherwise attributed. (Tom = Tom Christiansen tchrist@jhereg.perl.com)
  • Kira's Web ToolBox: (http://lightsphere.com/dev/)
    • Password Tutorial (http://lightsphere.com/dev/htpass.html)
    • Imagemap Tutorial (http://lightsphere.com/dev/ismaps/)
  • WebWare by Selena Sol (http://www.wdvl.com/Authoring/Scripting/WebWare/)- A monthly column for the cultural anthropologist and other liberal arts hackers gone Webmaster
  • CGI Programming 101 (http://lightsphere.com/dev/class/) - Welcome to the online CGI programming class. This course is intended for anyone who knows HTML, but doesn't know Perl or CGI programming (and maybe doesn't know any programming at all). The goal here is to introduce you to writing Perl CGI scripts, teach you the basics of scriptwriting, and walk you through several common CGI programming applications for the Web.
  • CGI Programming with JAVA (http://www.apl.jhu.edu/~hall/java/#CGI)
  • CGI Tutorials (http://www.halcyon.com/sanford/cgi/index.html) from Sanford Morton
      • A Tour of HTML Forms and CGI Scripts
      • CGI/Perl Tips, Tricks and Techniques
      • Reading CGI data
      • A Perl Workshop
  • The CGI Primer (http://hoohoo.ncsa.uiuc.edu/cgi/primer.html)
  • Web Development Series (http://www.iftech.com/oltc/webdev/webdev3.stm)- Tutorial on Forms and CGI Scripts
  • Introduction to the Common Gateway Interface (CGI) (http://www.virtualville.com/library/cgi.html)
  • CGI Manual of Style (http://www.mcp.com/zdpress/features/3970/) by Robert McDaniel Learn about cgi. No experience with C or Perl is assumed. Real-world examples are presented in easy-to follow tutorials.
  • The WDVL: Authoring CGI (http://WWW.Stars.com/Authoring/CGI/)- Here you'll find primers and advanced tutorials for creating CGI, and references to standards materials and many other helpful documents.
  • The Common Gateway Interface: FORMS (http://hoohoo.ncsa.uiuc.edu/cgi/forms.html)
  • MaxInfo's WebC (http://www.maxinfo.com/)
  • Unix CGI Scripts (http://www-swiss.ai.mit.edu/wtr/cgi-unix.html)
  • The WebTechniques Perl Columns (http://www.stonehenge.com/merlyn/WebTechniques/)- monthly column for Web Techniques magazine (by Randal L. Schwartz )
  • The Unix Review Perl Columns (http://www.stonehenge.com/merlyn/UnixReview/)- bi-monthly column for Unix Review magazine (by Randal L. Schwartz )
  • CGI & Perl Tutorial (http://labyrinth.catt.ncsu.edu/info/perl/index.html)- This is a 6 part tutorial that aims introduce the topic of programming CGI applications in Perl for processing HTML forms and adding interaction to web sites.(by Scott Sams)
  • PHP/FI Introduction (http://php.iquest.net/)- PHP/FI is a server-side html-embedded scripting language. It lets you write simple scripts right in your .HTML files much like JavaScript does, except, unlike JavaScript PHP/FI is not browser-dependant. JavaScript is a client-side html-embedded language while PHP/FI is a server-side language.

FastCGI, PHP/FI and other

  • Datapult/PF (http://datapult.com/sw/pf/)  is a tool for generating dynamic HTML documents. Without writing a custom CGI program, user input forms can be created and processed, pages can automatically react to the capabilities of the web browser, and information sources such as SQL databases or user-written modules can be tapped to generate content.
  • PHP/FI Version 2.0 (http://php.iquest.net/)
  • FastCGI (http://www.fastcgi.com/)
  • PHP/FI Version 2.0 (http://www.tp.umu.se/php/doc/doc.html) (doc)

Cgi Specifications and Environment:

  • Rex Swain's CGI Environment Variable Demo (http://www.pcnet.com/cgi-bin/cgiwrap/~rhswain/environment.cgi)
  • CGI Environment Variables (http://hoohoo.ncsa.uiuc.edu/cgi/env.html)
  • Common Gateway Interface (CGI) Specifications (http://hoohoo.ncsa.uiuc.edu/cgi/overview.html)
  • Information on writing servers and gateways (http://www.w3.org/Daemon/Overview.html)
  • HTTP_USER_AGENT, Common Name as submitted (http://www.gsb.georgetown.edu/dept/gsbtc/waehner/browser/index.ssi)- The list is organized by Browser, with each entry listed as "HTTP_USER_AGENT, Common Name as submitted


  • HTTP Overview (http://webreview.com/wr/pub/97/01/17/wian/index.html)
  • HTTP - Hypertext Transfer Protocol (http://www.w3.org/Protocols/)
  • Basic HTTP as defined in 1992 (http://www.w3.org/Protocols/HTTP/HTTP2.html)
  • Status codes in HTTP (http://www.w3.org/Protocols/HTTP/HTRESP.html)
  • RFC2068: Hypertext Transfer Protocol -- HTTP/1.1 (http://www.cis.ohio-state.edu/htbin/rfc/rfc2068.html)
  • MIME (Media ) Types (iana) (http://www.isi.edu/in-notes/iana/assignments/media-types/media-types)
  • computer dog: HTTPeek - a verbose web agent (http://computerdog.com/httpeek/index.shtml)- HTTPeek acts as a go-between in your Web transactions (well, HTTP transactions) to record the trail of HTTP requests and headers, then show them to you along with the document originally requested.
  • Status 204 test results (http://ppewww.ph.gla.ac.uk/~flavell/www/status204/)- The table shows the results of several variations of CGI script intended to send status 204 (the do-nothing, null response etc.) to the browser.


  • Rex Swain's HTTP Cookie Demo (http://www.pcnet.com/cgi-bin/cgiwrap/~rhswain/cookie.cgi) (Perl + src code)
  • Cookie-lib.pl (http://www.egr.uri.edu/~kovacsp/cookie-lib/index.html)is a perl library, written in the spirit of cgi-lib.pl to help developers use cookies easily and effectively in web applications.
  • Cookie Central (http://www.cookiecentral.com/)- dedicated to provide full information upon Internet Cookies, read below for our latest features, If you don't know what cookies are read the description below.
  • http://www.netscapeworld.com/netscapeworld/nw-07-1996/nw-07-cookies.html
  • Cookie I-D Drafts (http://portal.research.bell-labs.com/~dmk/cookie.html)
  • http://www.emf.net/~mal/cookiesinfo.html
  • http://home.netscape.com/newsref/std/cookie_spec.html
  • ftp://ietf.org/internet-drafts/draft-ietf-http-state-mgmt-04.txt
  • http://www.illuminatus.com/cookie.fcgi
  • http://www.jasmin.com/cook0696.html
  • A Cookie FAQ (http://www.cookiecentral.com/)


  • sbox (http://www.genome.wi.mit.edu/~lstein/sbox/) is a CGI wrapper script that allows Web site hosting services to safely grant CGI authoring privileges to untrusted clients. In addition to changing the process privileges of client scripts to match their owners, it goes beyond other wrappers by placing configurable ceilings on script resource usage, avoiding unintentional (as well as intentional) denial of service attacks. It also optionally allows the Webmaster to place client's CGI scripts in a chroot'ed shell restricted to the author's home directories.
  • NCSA's tips for Writing Secure CGI Scripts (http://hoohoo.ncsa.uiuc.edu/cgi/security.html)
  • Writing safe CGI scripts -- an overview (http://www.go2net.com/people/paulp/cgi-security/safe-cgi.txt) (Paul Phillips)
  • CGI Security Tutorial (http://www.csclub.uwaterloo.ca/u/mlvanbie/cgisec/)(Michael Van Biesbrouck)
  • CGI-Wrap - Secure User Access to CGI's with httpd (http://wwwcgi.umr.edu/~cgiwrap)- CGIwrap allows more secure user access to CGI's on NCSA, Cern, Apache, and NetSite web servers.
  • Kira's Web ToolBox: Password Tutorial (http://lightsphere.com/dev/htpass.html)
  • CGI security FAQ (http://www.cerf.net/~paulp/cgi-security/safe-cgi.txt)-
  • Using CGI at UMR (http://www.umr.edu:80/~cgiwrap/)- cgiwrap package to allow any user to run his/her cgi's in secure way
  • World Wide Web Security (http://www-ns.rutgers.edu/www-security/index.html)- This document indexes information on security for the World Wide Web, HTTP, HTML, and related software/protocols. It is maintained by Rutgers University Network Services www-security team.
  • The World Wide Web Security FAQ (http://www.genome.wi.mit.edu/WWW/faqs/www-security-faq.html)

Libraries and Modules:

  • JemTek CGI Library (http://www.jemtek.com.au/jemtek/cgi/lib)- JemTek CGI is a C library designed to simplify the creation of dynamic World Wide Web (WWW) applications. Dynamic applications are possible via the Common Gateway Interface (CGI) which provides an interface for running applications under an information server in a platform-independent manner. JemTek CGI is designed to be compatible with any CGI enabled HTTP server.
  • cgic (http://www.boutell.com/cgic/)- an ANSI C library for CGI Programming
  • Perl5 WWW Modules (http://www.perl.org/CPAN/modules/00modlist.long.html#15)WorldWideWeb)- HTML, HTTP, CGI, MIME
  • CGI Abort Libraries (http://wwwtest.gdb.org/browser/abort/cgiAbort.html)- A problem with the httpd/cgi protocol occurs when a user presses the Stop button on the browser...
  • Mozilla - V3 the C++ CGI Class Library Project (http://www.infomaniak.ch/~dblock/agnes.new/index.html)- Mozilla Motivations ,Mozilla-V3 Step by Step CGI Design Example ,Mozilla-V3 Short Class Description ,Download Public Domain Source code

News in CGI:

  • the Cache Now! campaign (http://vancouver-webpages.com/CacheNow/)- The Cache Now! campaign is designed to increase the awareness and use of proxy cache on the Web. Proxy Cache log (http://vancouver-webpages.com/proxy/)- log-tail.pl (http://vancouver-webpages.com/proxy/log-tail.pl)- its primary purpose is to demonstrate a method of generating a cacheable CGI script.


  •  A cool list of CGI related books with links to the publishers (http://www.cgicon.com/perlbooks.html#CGI) (from CGI Consult)
  • Kira's Web ToolBox: Books (http://lightsphere.com/dev/books/)
    • HTML Books
    • CGI Programming Books
    • Java Books
    • Books for Webmasters
    • Web Design Books
    • Web Graphics
  • The CGI Book (http://www.cgibook.com/) - by William E. Weinman A thorough guide to CGI programming, with lots of examples in Perl, C, and sh. The Web site includes all examples from the book.
  • HTML & CGI Unleashed (http://www.rpi.edu/~decemj/works/wdg.html)
  • Secrets of WWW Programming with HTML, CGI, and Perl (http://www.outer.net/wps/wps.htm)- This book (and Web site) is shamelessly devoted to informing and educating programmers who seek to extend the capabilities of their Web server. Our primary goal is to provide you with tools, tips, tricks, and approaches to enable you to grapple with any Web-related programming task.

Cgi with Windowze Systems:

  • Perl for Win32 (http://www.activeware.com/)
  • Omni HTTPd (http://www.fas.harvard.edu/~glau/httpd)
  • WebSite1.1 (http://www.ora.com)

previous page: CGI-BIN Scripts by Category
page up: WebMastering & Other Programming
next page: CGI-BIN Scripts by Owner Part 1