Jump to content

Recommended Posts

Hello I have written 2 mail forms for my client but I am try to implement preg_match to prevent malicious attacks. The code is:

 

message Technical support

<?php

require "dbconn2.php";

  $from = $_POST['email'];
  $sender = $_POST['name'];
  $message = $_POST['body'];
  $to = 'matt.sisto@gmail.com';
  
  $headers = "From: $from";

  $spamMessage = "No URLs permitted";

  if (preg_match("http/i", "$message")) {
    echo $spamMessage;
    exit();
  }
  
else {

mail($to, $sender, $message, $headers);
header("Location: technical.php");
  exit();
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>?Message Consultant</title>
</head>
<body>
</body>

 

message consultant

<?php

require "dbconn2.php";

  $from = $_POST['email'];
  $sender = $_POST['name'];
  $message = $_POST['body'];
  $con_id =$_POST['con_id'];

if (preg_match("http/i", "$message")) {
  header("Location: index.php");
  exit();
}
else{
  $sql = "SELECT email_address FROM consultant WHERE con_id = '$con_id'";
  $result=mysql_query($sql);
  $to = mysql_result($result, 0, 0);
  
  $headers = "From: $from";
  
  mail($to, $sender, $message, $headers);
    header("Location: message.php");
    exit();
}


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>?Message Consultant</title>
</head>
<body>
</body>
</html>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

 

Even when I enter a url into $message it still sends the email. I can't figure it out. Appreciate any help.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.