#!/usr/bin/perl ########## # Made by gigasoft ########## &form_parser; ########## # change the.success.page to # the url you want ########## $doneurl = 'http://the.success.page'; @required = ('Username','Password'); $userinfo = "usernpass.txt"; foreach (@required) { unless ($FORM{$_}) {   &errormsg('missing');  } } foreach (@required) { if ($FORM{$_} =~ /\W/) { &errormsg('illegal');  } } open(THEM, "$userinfo") || die("Could not open"); $grab = ; close(THEM); @makeAry = split(/&/, $grab); foreach (@makeAry) { ($tryuser, $trypass) = split(/\|/, $_); if ($FORM{'Username'} eq "$tryuser" && $FORM{'Password'} eq "$trypass") { print "Location: $doneurl\n\n"; exit;  } } &errormsg('invalid'); sub errormsg { my($msg) = @_;     print "Content-Type: text/html\n\n";   print "";   print "";   print "Form Error";   print "";   print "";   print "

The following error has occurred

"; print "
"; if ($msg eq 'missing') {   print "All inputs are required.";     print "Press back";   print " and try again."; } elsif ($msg eq 'illegal') {     print "Illegal characters found. Try again."; } elsif ($msg eq 'invalid') {     print "Invalid username/password."; }     print "
";   print "";   print ""; exit; } sub form_parser { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value;  } } ##END