#!/usr/bin/perl # Sätt variabler $guestbookurl = "http://din.server.se/katalog/gastbok.html"; $guestbookreal = "/home/konto/gastbok.html"; $cgiurl = "http://din.server.se/din_cgi-katalog/guestbook.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][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ästboksfilen open (FILE,"$guestbookreal") || die "Kan inte öppna $guestbookreal: $!\n"; @LINES=; close(FILE); $SIZE=@LINES; # Lägg in 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'} =~ s/\cM\n/
\n/g; print GUEST "$FORM{'kommentar'}
\n"; if ($FORM{'url'}) { print GUEST "$FORM{'namn'}, "; } else { print GUEST "$FORM{'namn'}, "; } if ( $FORM{'epost'} ){ print GUEST ""; print GUEST "$FORM{'epost'}"; } print GUEST "
\n"; print GUEST " - $date
\n\n"; } else { print GUEST $_; } } close (GUEST); # Skriv ut ett tack för meddelandet print "Content-Type: text/html\n\n"; print "Tack\n"; print "

Tack för att 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 "Eventuellt måste du klicka på \"reload\" för att se ändringarna\n";

print "\n"; exit;