PHP继续收到空白消息

时间:2015-10-17 11:21:26

标签: php jquery forms cloudflare

我有一个非常奇怪的问题我在我的网站上有一个表格,用户填写,一切正常,有验证和工作,它非常可靠,但我每天都会收到其中两封电子邮件:

已收到http://www.cccccc.com.au的新询问。请在下面找到详细信息并跟进:

Email : 
Phone Number : 
Event Type: 
Number Guests:
State: 
Suburb:
IP ADDRESS:173.245.50.130
Message:

为什么我会这样做?

我已经追踪了Ip,它来自美国,这很奇怪,因为我们的网站是针对澳大利亚的,我们的大部分流量都来自谷歌adwords。 然而,IP的ISP是cloudflare,这是我们的托管服务提供商....?

enter image description here

我知道为什么/如何获得这些空白?

这是我的脚本......非常流行,但它会给我们留言

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$mobile = $_POST['mobile'];
$eventType = $_POST['eventType'];
$nrGuests = $_POST['nrGuests'];
$state = $_POST['state'];
$suburb = $_POST['suburb'];
$msg = $_POST['msg'];
$ip = $_SERVER['REMOTE_ADDR'];


    $to_email       = "xxxx@axxxxcom.au, xxxxx@xxxxxx.co.nz"; 

    $suburb     =   filter_var($_POST["suburb"], FILTER_SANITIZE_STRING);
    $subject        = "You Have a New Booking!";
    //Add booking INFO here;
    $message        = "A new Enquiry has been received from http://www.fingerfoods.com.au. Please find details below and follow up:";

    //email body
    $message_body = $message."\r\n\r\n".$name."\r\nEmail : ".$email."\r\nPhone Number : ". $mobile."\r\nEvent Type: ".$eventType."\r\nNumber Guests:".$nrGuests."\r\nState: ".$state."\r\nSuburb:".$suburb."\r\nIP ADDRESS:".$ip."\r\nMessage:".$msg;

    //proceed with PHP email.
    $headers = 'From: '.$name.'' . "\r\n" .
    'Reply-To: '.$email.'' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
    $send_mail = mail($to_email, $subject, $message_body, $headers);
    if($send_mail)
    {  
    echo '<h1 class="page-header">Enquiry Successfully submitted</h1>'; 
}
else{
    echo'<h1 class="page-header" style="color:RED">OOPS...SOMETHING WENT WRONG, PLEASE TRY AGAIN!</h1>';
}
        ?>

这可能听起来有点愚蠢,但我想知道为什么我会收到这些空白电子邮件?如上所述

1 个答案:

答案 0 :(得分:0)

首先,int提供从中发送请求到Web服务器的IP地址。这通常是访问者的地址,但在您的情况下,听起来有一种代理坐在Web服务器之前拦截请求,因此对于Web服务器,它看起来好像请求来自那里。

其次,也许你没有获得参数值,因为你发送GET请求而不是POST,你可以使用$_SERVER['REMOTE_ADDR'](获取GET,POST和COOKIE varialbe的内容)而不是你没有&#39 ; t区分GET和POST请求。

for more info. about requests kinds

最重要的是,你必须检查输入值,不要发送表格值,除非它们不是空的!