#!/usr/bin/perl
use Digest::MD5;
$theFile = "/home/bkelly/conf/cookie";
# Set the nvpairs array to the cookie information
@nvpairs=split(/; /, $ENV{HTTP_COOKIE});
# Break the array into a hash
foreach $pair (@nvpairs) {
($name, $value) = split(/=/, $pair);
$cookie{$name} = $value;
}
print "Content-type: text/html", "\n";
# If either the cookies are gone, make a new set
if (!defined($cookie{'num'}) or !defined($cookie{'hash'})) {
if (open theData, $theFile and $count = <theData>) {
++$count;
$cookie{'num'} = $count;
}
else {
$count = 1;
$cookie{'num'} = $count;
}
system("echo $count > $theFile\n");
# Calculate an MD5 hash with this machine number
$ctx = Digest::MD5->new;
$ctx->add("SecretWord");
$ctx->add($count);
$hash = $ctx->hexdigest;
local(@days) = ("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
local(@months) = ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
local($seconds,$min,$hour,$mday,$mon,$year,$wday) = gmtime(time + 31536000);
# formatting of date variables
$seconds = "0" . $seconds if $seconds < 10;
$min = "0" . $min if $min < 10;
$hour = "0" . $hour if $hour < 10;
$year += 1900;
$expires =
"$days[$wday], $mday-$months[$mon]-$year $hour:$min:$seconds GMT";
print "Set-Cookie: num=$count; path=/; expires=$expires\n";
print "Set-Cookie: hash=$hash; path=/; expires=$expires\n";
}
print "\n";
print "<HTML><HEAD><TITLE>Phantasia</TITLE></HEAD>";
print "<BODY BACKGROUND=\"/graphics/mis6b.jpg\" TEXT=\"#BBBB66\" LINK=\"#996699\" ALINK=\"#BB3333\" VLINK=\"#BB3333\">";
print "<TABLE WIDTH=\"100%\" CELLPADDING=\"0\"><TR><TD WIDTH=90></TD><TD>";
print "<CENTER><IMG SRC=\"/graphics/clients.jpeg\" ALT=\"\" WIDTH=\"196\" HEIGHT=\"22\"></CENTER>";
print "<P>Please choose the phantasia client you'd like to play on and click on it's name below. Macintosh Netscape users can only use the 1.02 client. I recommend the 1.18 client for everyone else.</P>";
print "<CENTER><TABLE WIDTH=\"100%\" CELLPADDING=\"0\"><TR ALIGN=CENTER><TD>";
print "<A HREF=\"102_client.cgi?", time, "\"><IMG SRC=\"/graphics/102_client.jpeg\" ALT=\"\" WIDTH=\"224\" HEIGHT=\"17\"></A></TD><TD>";
print "<A HREF=\"118_client.cgi?", time, "\"><IMG SRC=\"/graphics/118_client.jpeg\" ALT=\"\" WIDTH=\"224\" HEIGHT=\"17\"></A></TD></TR></TABLE><HR><BR>";
print "<P>theFlower has created a cool post calculator for Windows. Click <A HREF=\"/posts.zip\">here</A> to download a copy. <BR>(Updated 12/16/01) </P>";
print "<P>A handy monster tool from KillerX for Windows can now be downloaded <A HREF=\"/monsters.zip\">here</A>. <BR>(Updated 01/06/02) </P><HR><BR>";
print "<iframe src=\"http://leader.linkexchange.com/1/X1422082/showiframe?\" width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no><a href=\"http://leader.linkexchange.com/1/X1422082/clickle\" target=\"_top\"><img width=468 height=60 border=0 ismap alt=\"\" src=\"http://leader.linkexchange.com/1/X1422082/showle?\"></a></iframe><br><a href=\"http://leader.linkexchange.com/1/X1422082/clicklogo\" target=\"_top\"><img src=\"http://leader.linkexchange.com/1/X1422082/showlogo?\" width=468 height=16 border=0 ismap alt=\"\"></a><BR><HR>";
print "<P><A HREF=\"/index.html\">Home</A> | The Game | <A HREF=\"/intro.html\">The Rules</A> | <A HREF=\"/info.html\">Game Info</A> </P>";
print "</CENTER></TD></TR></TABLE></BODY></HTML>";