#!/usr/bin/perl #if no cookie, then end the page if ($ENV{'HTTP_COOKIE'} eq "") { print "Location: http://www.baseballgeeks.com\n\n"; exit; } my(%cookies) = getCookies(); if ($cookies{'num'} == 0) { print "Location: http://www.baseballgeeks.com\n"; } else { @fieldlist = ("name","pass","number"); $wefoundpass=1; $pass=uc($cookies{'pass'}); open (IN, ") { chop(); $regular = $_; @data{@fieldlist} = split(/\^/,$regular); if ($data{'number'} == $cookies{'num'}) { $pass2=uc($data{'pass'}); if ($pass ne $pass2) { print "Location: http://www.baseballgeeks.com\n\n"; } else { $wefoundpass=0; last; } } } close (IN); if ($wefoundpass) { print "Location: http://www.baseballgeeks.com\n\n"; } } $ct = $ENV{"CONTENT_TYPE"}; $cl = $ENV{"CONTENT_LENGTH"}; $SCRIPT = $ENV{'SCRIPT_NAME'}; # check the content-type for validity if($ct ne "application/x-www-form-urlencoded") { exit 1; } # put the data into a variable read(STDIN, $qs, $cl); # split it up into an array by the '&' character @qs = split(/&/,$qs); foreach $i (0 .. $#qs) { # convert the plus chars to spaces $qs[$i] =~ s/\+/ /g; # convert the hex tokens to characters $qs[$i] =~ s/%(..)/pack("c",hex($1))/ge; # split into name and value ($name, $value) = split(/=/,$qs[$i],2); # create the associative element $qs{$name} = $value; } if ($qs{'category'} eq "[Empty]" or $qs{'category'} eq "[Categorize]") { print "Location: http://www.baseballgeeks.com/cgi-bin/bbs/blogsetup.pl?$cookies{'num'}#cats\n\n"; } $rem1=chr(10); $rem2=chr(13); @parts=split(/-/,$qs{'bloginfo'}); if ($cookies{'num'} != $parts[0]) { print "Location: http://www.baseballgeeks.com/cgi-bin/blog?$cookies{'num'}\n\n"; exit; } $qs{'category'}=uc($qs{'category'}); if ($parts[1] ne "") { $entries=0; open (FEATURES, "users/blogs/$cookies{'num'}"); while () { s/$rem1//g; s/$rem2//g; $posts[$entries]=$_; $entries++; } close(FEATURES); @fparts=split(/\^/,$posts[$parts[1]]); $posts[$parts[1]]=$fparts[0]."^".$qs{'category'}; open (FEATURES, ">users/blogs/$cookies{'num'}"); for ($ix=0; $ix<$entries; $ix++) { print FEATURES "$posts[$ix]\n"; } close(FEATURES); } print "Location: http://www.baseballgeeks.com/cgi-bin/blog?$cookies{'num'}\n\n"; exit; sub getCookies { my(%cookies); foreach (split (/; /, $ENV{'HTTP_COOKIE'})) { my($key) = split(/=/, $_); $cookies{$key} = substr($_, index($_, "=")+1); } return(%cookies) }