#!/usr/bin/perl print 'Content-type: text/html What do I know about you?
'; &print_title("Browser Variables"); &print_start_table("table1"); foreach $key (sort keys(%ENV)) { $val = $ENV{$key}; next if ( index($key,"HTTP_CACHE_CONTROL") != -1 ); next if ( index($key,"HTTP_VIA") != -1 ); next if ( index($key,"HTTP_X_FORWARDED_FOR") != -1 ); next if ( index($key,"HTTP_HOST") != -1 ); if ( index($key,"HTTP_") != -1 ) { $key = unescape($key); $val = unescape($val); &print_row($key, $val); } } &print_end_table(); if ( defined($ENV{HTTP_VIA}) ) { &print_title("Proxy Variables"); &print_start_table("table2"); &print_row("HTTP_CACHE_CONTROL",$ENV{HTTP_CACHE_CONTROL}) if (defined($ENV{HTTP_CACHE_CONTROL})); &print_row("HTTP_X_FORWARDED_FOR",$ENV{HTTP_X_FORWARDED_FOR}) if (defined($ENV{HTTP_X_FORWARDED_FOR})); &print_row("HTTP_VIA",$ENV{HTTP_VIA}); &print_end_table(); } &print_title("Your IP"); &print_start_table("table3"); foreach $key (sort keys(%ENV)) { $val = $ENV{$key}; &print_row($key, $val) if (index($key,"REMOTE_") != -1); } &print_end_table(); print '
WhoAmI written by Georgi Chorbadzhiyski
'; # *************************************** # ************* FUNCTIONS *************** # *************************************** sub unescape($) { ($var) = @_; $var =~ s//>/g; return $var; } sub print_title($) { ($title) = @_; print "

" . &unescape($title) . "

\n"; } sub print_row($$) { ($key,$val) = @_; print "\n"; print " " . &unescape($key) . "\n"; print " " . &unescape($val) . "\n"; print "\n"; } sub print_start_table($) { ($class) = @_; print ''."\n"; } sub print_end_table($) { ($class) = @_; print '
'."\n"; }