note 62572 deleted from function.mail by betz

From: Date: Sat, 04 Mar 2006 01:19:58 +0000
Subject: note 62572 deleted from function.mail by betz
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-104804@lists.php.net to get a copy of this message
Note Submitter: ---- This is untested. function checkmail($to, $subject, $message, $from) { // Checks the to, subject, message, and from fields. // checks to ensure they are entered, makes sure the email address is proper format, checks for email // injection, and ensures that a message is not sent more than once every 30 seconds. // GETS: to, subject, message, and from // RETURNS: an error message or nothing. Nothing on success. if(!session_id()) { session_start(); } $messageerror = ""; if (!strlen($subject) > 0) { $messageerror = "You must enter a subject"; } if (!strlen($message) > 0) { $messageerror = "You must enter a message"; } if (!strlen($from) > 0) { $messageerror = "You must enter an email address"; } if (!ereg("[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+", $from)) { $messageerror = "You must enter a valid email address"; } if (eregi("\r", $subject) || eregi("\n", $subject) || eregi("%0a", $subject) || eregi("%0d", $subject) || eregi("Content-Type:", $subject) || eregi("bcc:", $subject) || eregi("to:", $subject) || eregi("cc:", $subject)) { $messageerror = "Email Injection detected. Your message has not been sent."; } else { } if (eregi("\r", $to) || eregi("\n", $to) || eregi("%0a", $to) || eregi("%0d", $to) || eregi("Content-Type:", $to) || eregi("bcc:", $to) || eregi("to:", $to) || eregi("cc:", $to)) { $messageerror = "Email Injection detected. Your message has not been sent."; } else { } if (eregi("\r", $from) || eregi("\n", $from) || eregi("%0a", $from) || eregi("%0d", $from) || eregi("Content-Type:", $from) || eregi("bcc:", $from) || eregi("to:", $from) || eregi("cc:", $from)) { $messageerror = "Email Injection detected. Your message has not been sent."; } else { } if ($messageerror == "") { if (isset($_SESSION['rightnow'])) { if (date('U') > ($_SESSION['rightnow'] + 30)) { $_SESSION['rightnow'] = date('U'); } else { $remaintime = ($_SESSION['rightnow'] + 30) - date('U'); $messageerror = "You cannot send another message for " . $remaintime . " seconds"; } } else { $_SESSION['rightnow'] = date('U'); } } return $messageerror; }

« previous php.notes (#104804) next »