Ajax - php форма с (класс phpmailer) автоматически отправляет электронные письма каждый день, что не так? - PullRequest
0 голосов
/ 19 июля 2011

Привет, я использовал этот урок http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/

для создания формы php - jquery - ajax, и теперь я получаю пустые письма о форме каждый день (2 письма каждое утро), даже знаю, что для доступа к странице, на которой находится форма, пользователю необходимо сначала войти ...

как же так, что он отправляет пустые письма каждый день с защищенной страницы .... / Форма имеет несколько проверок, чтобы проверить, если некоторые поля пусты, она не отправляет ... но все равно я получаю пустые письма ...

Я думаю, что это могут быть какие-то сканеры и боты, чтобы вызвать это? поскольку он всегда в одно и то же время суток, без логинов пользователя и т. д. (он публикует информацию о логине пользователя в почте, а в этих письмах он пуст)

Точно это боты как это защитить? если нет - есть другие идеи, почему это может произойти?

Спасибо

<?php
if ((isset($_POST['Firma'])) && (strlen(trim($_POST['Firma'])) > 0)) {
    $Firma = stripslashes(strip_tags($_POST['Firma']));
}
if ((isset($_POST['Adresse'])) && (strlen(trim($_POST['Adresse'])) > 0)) {
    $Adresse = stripslashes(strip_tags($_POST['Adresse']));
}
if ((isset($_POST['Telefon'])) && (strlen(trim($_POST['Telefon'])) > 0)) {
    $Telefon = stripslashes(strip_tags($_POST['Telefon']));
}
if ((isset($_POST['PostNr'])) && (strlen(trim($_POST['PostNr'])) > 0)) {
    $PostNr = stripslashes(strip_tags($_POST['PostNr']));
}
if ((isset($_POST['By'])) && (strlen(trim($_POST['By'])) > 0)) {
    $By = stripslashes(strip_tags($_POST['By']));
}
if ((isset($_POST['Email'])) && (strlen(trim($_POST['Email'])) > 0)) {
    $Email = stripslashes(strip_tags($_POST['Email']));
}
if ((isset($_POST['Fax'])) && (strlen(trim($_POST['Fax'])) > 0)) {
    $Fax = stripslashes(strip_tags($_POST['Fax']));
}
if ((isset($_POST['Web'])) && (strlen(trim($_POST['Web'])) > 0)) {
    $Web = stripslashes(strip_tags($_POST['Web']));
}

if ((isset($_POST['editorName'])) && (strlen(trim($_POST['editorName'])) > 0)) {
    $editorName = stripslashes(strip_tags($_POST['editorName']));
}
if ((isset($_POST['editorMail'])) && (strlen(trim($_POST['editorMail'])) > 0)) {
    $editorMail = stripslashes(strip_tags($_POST['editorMail']));
}

if ((isset($_POST['persons'])) && (strlen(trim($_POST['persons'])) > 0)) {
    $persons = $_POST['persons'];
}

if ((isset($_POST['username'])) && (strlen(trim($_POST['username'])) > 0)) {
    $username = $_POST['username'];
}

$personsname[] = array();
$personsmail[] = array();
$personsnews[] = array();
$personsmedelm[] = array();

ob_start();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title> </title>
</head>
<body>
Firma : <?=$Firma;?><br/>
Adresse : <?=$Adresse;?><br/>
Telefon : <?=$Telefon;?><br/>
PostNr : <?=$PostNr;?><br/>
By : <?=$By;?><br/>
Email : <?=$Email;?><br/>
Fax : <?=$Fax;?><br/>
Web : <?=$Web;?><br/><br/><br/>

<?=$persons;?>

Redigeret af: <?=$editorName;?> &nbsp; - &nbsp; <?=$editorMail;?><br/>
Filled by : <?=$username;?>
</body>
</html>
<?php
$to = 'i@i.dk'; 
$email = 'i@i.dk';
$fromaddress = "i@i.dk"; 
$fromname = "i@i.dk";

require("phpmailer.php");

$mail = new PHPMailer();

$mail->From     = "i@i.dk"; 
$mail->FromName = "i@i.dk";
$mail->AddAddress("i@i.dk","i.dk");
$mail->AddAddress("i@i.dk","i.dk"); 
$mail->WordWrap = 50;
$mail->IsHTML(true);

$mail->CharSet = "UTF-8";
$mail->Encoding = 'quoted-printable';

$mail->Subject  =  "Mail";
$mail->Body     =  $body;
$mail->AltBody  =  "This is the text-only body";
if($Firma != '' && $Firma != null){
if(!$mail->Send()) {
    $recipient = 'i@i.dk';
    $subject = 'Mail';
    $content = $body;   
  mail($recipient, $subject, $content, "From: i@i.dk\r\nReply-To: i@i.dk\r\nX-Mailer: DT_formmail");
  exit;
}
}
?>

1 Ответ

1 голос
/ 19 июля 2011

Если у вас есть доступ к журналам вашего сервера, проверьте, какие пользовательские агенты подключались к вашему сайту в это время. Вероятно, это своего рода бот, который пытается получить доступ ко всем URL-адресам, указанным в источнике вашей страницы (а также к URL-адресам javascript для отправки электронной почты). Могу поспорить, у вас есть подтверждение только в Javascript и у вас нет капчи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...