#!/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;
$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";
}