X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=html%2Fhtml%2Fredirect.cgi;fp=html%2Fhtml%2Fredirect.cgi;h=c7b6a608f3685fc0333396f46726a99f7e519dc3;hp=0000000000000000000000000000000000000000;hb=8deebac86a150ae1fc9e5645a9c531330b01e7a6;hpb=a7b1824c6c543afe1884dbb62e80ba219bc90fd1 diff --git a/html/html/redirect.cgi b/html/html/redirect.cgi new file mode 100644 index 000000000..c7b6a608f --- /dev/null +++ b/html/html/redirect.cgi @@ -0,0 +1,166 @@ +#!/usr/bin/perl + +# +# $Id: redirect.cgi,v 0.1 2004/09/26 00:00:00 marco Exp $ +# + +use CGI qw(param); + +$swroot="/var/ipfire"; + +my %netsettings; +my %filtersettings; + +&readhash("$swroot/ethernet/settings", \%netsettings); +&readhash("$swroot/urlfilter/settings", \%filtersettings); + +$category=param("category"); +$url=param("url"); +$ip=param("ip"); + +if ($filtersettings{'MSG_TEXT_1'} eq '') { + $msgtext1 = "A C C E S S    D E N I E D"; +} else { $msgtext1 = $filtersettings{'MSG_TEXT_1'}; } +if ($filtersettings{'MSG_TEXT_2'} eq '') { + $msgtext2 = "Access to the requested page has been denied"; +} else { $msgtext2 = $filtersettings{'MSG_TEXT_2'}; } +if ($filtersettings{'MSG_TEXT_3'} eq '') { + $msgtext3 = "Please contact the Network Administrator if you think there has been an error"; +} else { $msgtext3 = $filtersettings{'MSG_TEXT_3'}; } + +if ($category eq '') { $category = ' '; } else { $category = '['.$category.']'; } + +print "Pragma: no-cache\n"; +print "Cache-control: no-cache\n"; +print "Connection: close\n"; +print "Content-type: text/html\n\n"; + +print < + + + + + +END +; + +if (($filtersettings{'ENABLE_JPEG'} eq 'on') && (-e "/home/httpd/html/images/urlfilter/background.jpg")) +{ +print < +END +; +} else { +print < +END +; +} + +print < + + + + + + + + + + + +
+ + $category + +
+ + + + + + + + + +
+ + $msgtext1 + +
+ + $msgtext2 + + +END +; + +if (!($url eq "")) +{ +print <URL: $url +END +; +} + +if (!($ip eq "")) +{ +print <Client IP address: $ip +END +; +} + +print <

$msgtext3 + +

+ +
+ Web Filtering by + + + IPCop and + + SquidGuard + +
+ + + + + + +END +; + +sub readhash +{ + my $filename = $_[0]; + my $hash = $_[1]; + my ($var, $val); + + if (-e $filename) + { + open(FILE, $filename) or die "Unable to read file $filename"; + while () + { + chop; + ($var, $val) = split /=/, $_, 2; + if ($var) + { + $val =~ s/^\'//g; + $val =~ s/\'$//g; + + # Untaint variables read from hash + $var =~ /([A-Za-z0-9_-]*)/; $var = $1; + $val =~ /([\w\W]*)/; $val = $1; + $hash->{$var} = $val; + } + } + close FILE; + } +}