[linux] cau
matoh na compact.sk
matoh na compact.sk
Úterý Srpen 17 10:57:33 CEST 1999
print "Content-type: text/html\n\n";
#get data
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
# Split the name-value pairs
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
# Un-Webify plus signs and %-encoding
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$value =~ s/<([^>]|\n)*>//g;
if ($name eq "filename") {
push (@files,$value);
}
else {
$FORM{$name} = $value;
}
}
#
# VERIFY THE FORM DATA
#
if ($ENV{SERVER_NAME} eq 'alfa' )
{
$server = '10.0.0.2'
}
else
{
$server = 'pstnt.pst.sk';
}
if ($FORM{'mail'})
{
$from = $FORM{'mail'};
}
else
{
$from = "odosielatel_neznamy";
}
$to = 'csmail na compact.sk';
if (!($server) || !($from) || !($to))
{
print "<HTML><TITLE>Missing fields</TITLE><BODY>\n";
print "Missing one of the following required arguments:<BR>\n";
print "<I>server</I> <I>from</I> <I>to</I>\n";
print "</BODY></HTML>\n";
exit(1);
}
$subject = $FORM{'subject'};
if (!($subject))
{
$subject = "Inet slu?by";
}
$bodyfile = ' ';
$body = "meno a priezvisko: $FORM{'meno'}";
$kontakt = "kontakt: $FORM{'kontakt'}";
$mail = "e-mail: $FORM{'mail'}";
$telo = "obsah mailu: $FORM{'telo'}";
{
$body = $data."\n".$body;
$kontakt = $data."\n".$kontakt;
$mail = $data."\n".$mail;
$telo = $data."\n".$telo;
}
#
# CLOSE SECURITY PROBLEMS.
#
if (($server =~ /[;><&\*'\|]/ ) ||
($from =~ /[;><&\*'\|]/ ) ||
($subject =~ /[;><&\*'\|]/ ) ||
($to =~ /[;><&\*'\|]/ ))
{
print "<HTML><TITLE>Invalid fields</TITLE><BODY>\n";
print "One or more the following fields have invalid characters:<BR>\n";
print "<I>server</I> <I>from</I> <I>to</I>\n";
print "</BODY></HTML>\n";
exit(1);
}
#
# Prepare the BODY of the message
#
if ($body)
{
# Write the body to a temporary file.
do {
$bodyfile = int(rand(99999999))."mit";
} until !(-e $bodyfile);
open(FILE, ">$bodyfile") || exit(1);
print FILE $body;
print FILE $kontakt;
print FILE $mail;
print FILE $telo;
close FILE;
}
$attach = $FORM{'attach'};
# Fixup any quote characters...
$server =~ s/"/\\"/g;
$from =~ s/"/\\"/g;
$to =~ s/"/\\"/g;
$subject =~ s/"/\\"/g;
#
# BUILD THE MAIL COMMAND
#
# Syntax: mailit <server> <from> <to> <subject> [<body-file> [<attach1>]]
#
$commandline = "mailit ";
$commandline .= " \"$server\"";
$commandline .= " \"$from\"";
$commandline .= " \"$to\"";
$commandline .= " \"$subject\"";
$commandline .= " $bodyfile" if $bodyfile;
$commandline .= " $attach" if $attach;
#
# EXECUTE THE MAILIT COMMAND
#
system($commandline);
$result = $?;
# Remove the body file.
if ($bodyfile)
{
unlink($bodyfile);
}
# Test the result...
if ($result != 0)
{
print <<EOF;
<HTML>
<HEAD>
<TITLE>Odesilam mail</TITLE>
</HEAD>
<BODY BACKGROUND="../!IMG/INFOBACK.JPG">
<CENTER><IMG SRC="../!IMG/S_LOGO2_MAIL_1.GIF"></CENTER>
<BR>
<hr width="90%">
<BR>
<FONT FACE="ARIAL CE"><B>
<center><h2>Pozor, va?a spr?va sa neodoslala!</h2></center>
<center>Vo va?ej e-mail adrese sa nesmie nach?dza? medzera</center><BR>
<CENTER>
<TABLE BORDER=0>
<TR><TD><A HREF="javascript:parent.history.go(-1)"><FONT FACE="ARIAL CE" SIZE="-1">N?vrat na formul?r</A></TD>
<TD WIDTH="20">.</TD>
<TD><A HREF="javascript:window.close('close')"><FONT FACE="ARIAL CE" SIZE="-1">N?vrat na Compact Slovakia Web</A></TD>
</TR>
</TABLE>
</center>
</B></FONT>
EOF
exit(1);
}
#
# DONE
#
print <<EOF;
<HTML>
<HEAD>
<TITLE>Odesilam mail</TITLE>
</HEAD>
<BODY BACKGROUND="../!IMG/INFOBACK.JPG">
<CENTER><IMG SRC="../!IMG/S_LOGO2_MAIL_1.GIF"></CENTER>
<BR>
<hr width="90%">
<BR>
<FONT FACE="ARIAL CE"><B>
<center>Va?a spr?va sa ?spe?ne odoslala.</center>
<BR>
<CENTER><A HREF="javascript:window.close('close')"><B>N?vrat na Compact Slovakia Web</B></A></center>
</B></FONT>
EOF
exit(0);
Další informace o konferenci linux