Search notes:
CGI
CGI = Common Gateway Interface
The following simple
Perl script shows all environment variables that a CGI implementation passes to the script:
#!/bin/perl
use warnings;
use strict;
print "Content-Type: text/plain; charset=UTF-8\r\n\r\n";
for my $key (keys %ENV) {
my $val = $ENV{$key};
$val =~ s/\n/<CR>/g;
printf "%-30s: %s\n", $key, $val;
}
It might print something like
SCRIPT_NAME /cgi-bin/echo-env-vars.pl
SERVER_NAME renenyffenegger.ch
SERVER_ADMIN mail@....
HTTP_ACCEPT_ENCODING gzip, deflate
HTTP_CONNECTION keep-alive
REQUEST_METHOD GET
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
SCRIPT_FILENAME /home/httpd/vhosts/username/cgi-bin/echo-env-vars.pl
SERVER_SOFTWARE Apache
HTTP_ACCEPT_CHARSET *
QUERY_STRING foo=bar
REMOTE_PORT 59300
HTTP_USER_AGENT Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.742.112 Chrome/12.0.742.112 Safari/534.30
SERVER_PORT 80
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_COOKIE __utma=229995167.280608987.1485871259.1485871259.1486026955.2; __utmz=229995167.1485871259.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)
REMOTE_ADDR 178.197.232.160
SERVER_PROTOCOL HTTP/1.1
PATH /usr/local/bin:/usr/bin:/bin
REQUEST_URI /cgi-bin/show-env.pl
GATEWAY_INTERFACE CGI/1.1
SERVER_ADDR xx.yyy.yyy.zz
DOCUMENT_ROOT /home/httpd/vhosts/username/httpdocs
HTTP_HOST renenyffenegger.ch
UNIQUE_ID VJx4-4BeECz-rxD9qb34dgCAACu
Of particular interest is
QUERY_STRING
: it shows the value that was passed after the
?
(in a
GET
request)