#!/usr/bin/perl #Script för gestbok # Sätt variabler $guestbookurl = "http://din.server.se/katalog/gastbok.html"; $guestbookreal = "/home/konto/gastbok.html"; $cgiurl = "http://din.server.se/din_cgikatalog/guestbok.pl"; #Sökväg till kommandot som skriver ut datum $date_command="/usr/bin/date"; # Välj om dina användare ska kunna använda HTML i sina meddelanden: $allow_html=0; # 1=Ja; 0=Nej #Hämta datumet för inlägget $date = `#$date_command +"%A ,%B %d, %Y at %T (%Z)"`;chop($date); $shortdate = `$date_command +"%D %T %Z"`;chop($shortdate); # Hämta data från formuläret på HTML-sidan read(STDIN, $buffer, $ENV{`CONTENT_LENGTH`}); # Dela på paren name-value i data från formuläret @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/,$pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9])/pack("C",hex($1))/eg; $value=~ s///g; if ($allow_html != 1) { $value =~ s/<([^>]|\n)*>//g; } $FORM{$name} =$value; } $ Börja ändringen i gästboksfilenopen (FILE,"$guestbookreal") || die "Kan inte öppna $guestbookreal: $!\n"; @LINES=; close(FILE) ; $SIZE=@LINES; #Infoga inlägg i gästboksfilen. Inlägget hamnar vid i HTML-koden. open (GUEST,">$guestbookreal") || die "Kan inte öppna $guestbookreal: $!\n"; for ($i=0;$i<=$SIZE;$i++) ( $_=$LINES[$i]; if (//) { print GUEST "\n"; $FORM{`kommentar´}
\n"; if ($FORM{`url´}) { print GUEST "$FORM{`namn´}, "; } else { print GUEST "$FORM{`namn´}, "; } if ( $FORM{`epost´} ) { print GUEST "
\n"; print GUEST " -$date
\n\n"; } else { print GUEST $_; } } close (GUEST); $Skriv ut en tack för meddelandet print "Content-Type:text/html\n\n"; print "Tack\n"; print "

Tack föratt du skrev i min gästbok

\n"; print "

Ditt inlägg har lagts till i min gästbok\n"; print "Tillbaka till gästboken\n"; print "Eventuelt måste du klicka på \"reload\"för att se ändringarna\n";

print "\n"; exit;