#!/usr/bin/perl # location of Perl (above) - check your doc or ask admin ##### SETTABLE VARIABLES #################################### # URL to go to if there is a problem with form input $ErrorPage = Print $MName "Member not found" # URL to go to when form has been successfully submitted $ThankPage = "http://www.yoursite.com/a_thanks.html"; ##### MAIN PROGRAM ######################################### # ___ Do not edit below this line __________________________ open http://www.geocities.com/__nightwolf__1/Memberlist.dat for output #1 &CheckReferingURL; &ReadParse; $Name = $in{'Name'}; &CheckFields; &SendSubmission; exit; # _________________________________________________________ sub SendSubmission { print name "$MName\n"; print name "$Email\n"; print name "$MEMDOB\n"; print name "$MGender\n"; print name "$Rank\n"; print name "$Comments\n"; print name "$Awards\n\n"; print name "$Missbehave\n\n"; close (name); } # _________________________________________________________ sub ReadParse { local (*in) = @_ if @_; local ($i, $key, $val); if ( $ENV{'REQUEST_METHOD'} eq "GET" ) {$in = $ENV{'QUERY_STRING'};} elsif ($ENV{'REQUEST_METHOD'} eq "POST") {read(STDIN,$in,$ENV{'CONTENT_LENGTH'});} else { $in = ( grep( !/^-/, @ARGV )) [0]; $in =~ s/\\&/&/g; } @in = split(/&/,$in); foreach $i (0 .. $#in) { $in[$i] =~ s/\+/ /g; ($key, $val) = split(/=/,$in[$i],2); $key =~ s/%(..)/pack("c",hex($1))/ge; $val =~ s/%(..)/pack("c",hex($1))/ge; $in{$key} .= "\0" if (defined($in{$key})); $in{$key} .= $val; } return length($in); } # _________________________________________________________ sub CheckFields { if (!$Name || $Name eq ' ') {&DoEmailError;} } sub DoEmailError { print "Location: $ErrorPage\n\n"; exit; } # _________________________________________________________ sub CheckReferingURL { if ($ENV{'HTTP_REFERER'}) { foreach $referer (@referers) { if ($ENV{'HTTP_REFERER'} =~ /$referer/i) { $check_referer = '1'; last; }}} else {$check_referer = '1';} if ($check_referer != 1) { print "Location: $EvilReferer\n\n"; exit; }} # _________________________________________________________ close #1 exit; ##### End of Script ########################################