Apache Environment Variables CGI Script
Using Apache Environment Variables in .htaccess files with RewriteRule, SetEnvIf, Header, etc., is made easier by having a script that displays current variables and environment. Heres my slightly improved version of the common printenv and test-cgi scripts that come with Apache Installations.
Features of AskApache Environment Debugger
- Only displays results for user-configured IP address
- If IP is not allowed it will redirect to any page you specify.
- Can also be run from the shell
- Includes both built-in env and also uses perl
Example Output and Variables
- DOCUMENT_ROOT
- GATEWAY_INTERFACE
- HTTP_ACCEPT
- HTTP_ACCEPT_CHARSET
- HTTP_ACCEPT_ENCODING
- HTTP_ACCEPT_LANGUAGE
- HTTP_CACHE_CONTROL
- HTTP_CONNECTION
- HTTP_COOKIE
- HTTP_HOST
- HTTP_KEEP_ALIVE
- HTTP_USER_AGENT
- QUERY_STRING
- REMOTE_ADDR
- REMOTE_PORT
- REQUEST_METHOD
- REQUEST_URI
- SCRIPT_FILENAME
- SCRIPT_NAME
- SCRIPT_URI
- SCRIPT_URL
- SERVER_ADDR
- SERVER_ADMIN
- SERVER_NAME
- SERVER_PORT
- SERVER_PROTOCOL
- SERVER_SIGNATURE
- SERVER_SOFTWARE
The Shell Script
Or Download
#!/bin/sh ### ### ASKAPACHE ENVIRONMENT DEBUGGER - Display Environment Variables using perl and builtin commands ### Version 1.0.2 ### ### --------------------------------------------------------------------------------------- ### This work is licensed under the Creative Commons Attribution 3.0 United States License. ### To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/us/ ### or send a letter to Creative Commons, 171 Second Street, Suite 300, ### San Francisco, California, 94105, USA. ### See https://www.askapache.com/about/disclaimer-and-license/ for info. ### ---------------------------------------------------------------------------------------- ### ### Usage: ### ### Place in public web directory request from your web browser. ### ### ### Install: ### ### 1. Place in public web directory like /cgi-bin/ and rename askapache-env.cgi ### 2. chmod 744 or chmod u+x ### 3. Add Options +ExecCGI to the top of /cgi-bin/.htaccess which should be chmod 644 ### 4. Add your IP address to the MY_ALLOWED_IP variable in the config below (https://www.askapache.com/online-tools/whoami/) ### ### Optionally you can add these lines to your .htaccess (https://www.askapache.com/htaccess/) ### file to only allow from IP Address 208.113.183.103 ### ### Order Deny,Allow ### Deny from All ### Allow from 208.113.183.103 ### CONFIGURATION MY_ALLOWED_IP="208.113.183.103" MY_REDIRECT="www.askapache.com" # command line if [ -e $GATEWAY_INTERFACE ]; then echo "+ ARGS: ${0}" echo "+-----------------------------------------------------+" echo "| env |"; echo "+=====================================================+"; env | sort;echo;echo echo "+-----------------------------------------------------+" echo "| PERL PRINTENV |"; echo "+=====================================================+"; perl -e'foreach $var (sort(keys(%ENV))) {$val = $ENV{$var};$val =~ s|n|\n|g;$val =~ s|"|\"|g;print "${var}="${val}"n"}';echo;echo echo "+-----------------------------------------------------+" echo "| declare |"; echo "+=====================================================+"; declare | sort;echo;echo else if [ "$REMOTE_ADDR" == "$MY_ALLOWED_IP" ]; then echo "Content-type: text/plain; charset=iso-8859-1";echo echo "+ ARGS: ${0}" echo "+-----------------------------------------------------+" echo "| env |"; echo "+=====================================================+"; env | sort;echo;echo echo "+-----------------------------------------------------+" echo "| PERL PRINTENV |"; echo "+=====================================================+"; perl -e'foreach $var (sort(keys(%ENV))) {$val = $ENV{$var};$val =~ s|n|\n|g;$val =~ s|"|\"|g;print "${var}="${val}"n"}';echo;echo #echo "+-----------------------------------------------------+" #echo "| declare |"; #echo "+=====================================================+"; #declare | sort;echo;echo else echo "Content-type: text/html" echo "Location: http://${MY_REDIRECT}"; echo ""; fi fi exit 0
« Surf the net anonymously with TorRedirecting RSS to Feedburner »
Comments