[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