PHP Form Email Invio a caso Testo
-
14-10-2019 - |
Domanda
Ho fatto una pagina web per un cliente che ha coinvolto una serie di caselle di testo per chiedere informazioni specifiche come il nome di una persona, l'indirizzo e-mail, società, ecc Insieme con un pulsante che di e-mail le informazioni al mio cliente . Ogni volta che ho provato il pulsante che sembrava funzionare perfettamente, ho caricato la pagina e ho pensato che è stato fatto. Ma, l'altro giorno il mio cliente ha questa email dal sito:
Nome: rfhopzdgmx rfhopzdgmx
E-mail: envlxw@lnlnsm.com
Società: zUDXatAfoDvQrdH
Indirizzo postale:
AaSsXklqpHIsoCNcei
gXsimMPRBYZqq
vGLvZraZNdpOAV, ChsmuibE PoKzaSCubXPRI
Telefono di casa: CIJbIfjMfjIaTqAlD
Lavoro Telefono: JFLZBOvru
Cellulare: XlFJTTFGiTTiiFQfy
Fax: UEJMOVZodWPkKxew
Commenti:
sPvSCE hgetwoguderu, *
[Url = http: //atyktjlxcznl.com/] atyktjlxcznl [/ url],
[Link = http: //nudvfcehwpyg.com/] nudvfcehwpyg [/ link], http://lvvwkbzbhnzp.com/
. Nota: La linea * conteneva codice di collegamento HTML, solo che non so come ottenere questo sito per mostrare
Ecco il codice PHP nel sito per il pulsante e-mail.
<?php
//This Sends A Formatted Text Email Using The Text Boxes
if ($_POST['submit']){
//This Gets The Form Data
$fname = $_POST['fName'];
$lname = $_POST['lName'];
$email = $_POST['email'];
$company = $_POST['co'];
$address1 = $_POST['address1'];
$address2 = $_POST['address2'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip = $_POST['zip'];
$homep = $_POST['homeP'];
$workp = $_POST['workP'];
$cellp = $_POST['cellP'];
$fax = $_POST['fax'];
$comments = $_POST['txaOutputField'];
//echo "<script language = 'javascript'>alert('YAY');</script>";
if ($fname && $lname && $email && $comments){ //Check If Required Fields Are Filled
//This Sets The SMTP Configuration In php.ini
ini_set("SMTP", "smtp.2ndsourcewire.com");
//This Replaces Any Blank Fields With 'None's
if ($company == ""){
$company = "None";
}
if ($address1 == ""){
$address1 = "None";
}
if ($city == ""){
$city = "None";
}
if ($state == ""){
$state = "None";
}
if ($zip == ""){
$zip = "None";
}
if ($homep == ""){
$homep = "None";
}
if ($workp == ""){
$workp = "None";
}
if ($cellp == ""){
$cellp = "None";
}
if ($fax == ""){
$fax = "None";
}
//This Creates The Variables Necessary For The Email
$to = "CLIENT EMAIL WHICH I'M CENSORING";
$subject = "Email from 2ndSourceWire.com";
$from = "From: noreply@2ndsourcewire.com";
$secondEmail = "MY EMAIL WHICH I'M ALSO CENSORING";
if ($address2 == ""){
$body = "Name: $fname $lname\n".
"Email: $email\n".
"Company: $company\n\n".
"Mailing Address:\n".
"$address1\n".
"$city, $state $zip\n\n".
"Home Phone: $homep\n".
"Work Phone: $workp\n".
"Cell Phone: $cellp\n".
"Fax: $fax\n\n".
"Comments:\n".
"$comments";
}
else {
$body = "Name: $fname $lname\n".
"Email: $email\n".
"Company: $company\n\n".
"Mailing Address:\n".
"$address1\n".
"$address2\n".
"$city, $state $zip\n\n".
"Home Phone: $homep\n".
"Work Phone: $workp\n".
"Cell Phone: $cellp\n".
"Fax: $fax\n\n".
"Comments:\n".
"$comments";
}
//This Sends The Email
mail($to, $subject, $body, $from);
mail($secondEmail, $subject, $body, $from);
echo "<script language = 'javascript'>alert('The email was sent successfully.');</script>";
}
else {
//The Required Fields Are Not Filled
echo "<script language = 'javascript'>alert('Please fill your first name, last name, email address, and your comment or question.');</script>";
}
}
?>
Sono un po 'sbalordito da come questo è accaduto, il cliente menzionato un paio di e-mail di questo, quindi non credo che sia un problema tecnico casuale. Inoltre, l'indirizzo di posta elettronica è stato formattato come un indirizzo di posta elettronica, in modo da qualcuno o qualche programma interpretava le etichette accanto a ciascuna casella di testo. Ho anche notato che i nomi ei cognomi inseriti sono la stessa parola, anche se erano in diverse caselle di testo, sto pensando proprio qualche programma di spam, ma non dovrebbero cercare di pubblicizzare qualcosa e fare soldi, piuttosto che sputa fuori testo casuale? Inoltre, la sezione commenti non ha senso per me a tutti, i collegamenti cursore andrà da nessuna parte e sono tutti perfettamente formattati, una persona a caso proprio avvitamento intorno non saprebbe questi tag, e un programmatore di farlo non sarebbe perdere tempo con esso, ma anche nessuno dei due avrebbe un programma.
Non ho idea di che cosa ha causato questo o come risolvere il problema, sto disegnando un vuoto qui. Qualcuno ha qualche idea?
Soluzione
A spammer / bot inseriti i dati duff nella tua pagina e si doverosamente inviato sul nell'applicazione.
Perché pensa che questo è un mistero?
Altri suggerimenti
aggiungere un CAPTCHA per evitare che si verifichi. Se non cosa scrivere il proprio è possibile utilizzare reCAPTCHA
anche una domanda semplice come "Sei un umano Y / n?" o "2 + 2?" si fermerà il bot, anche utilizzando alcuni js per impostare un valore nascosto sul presentare e verificare che sul server. alcuni convalida $ e-mail e telefono $ sarebbe bello avere.
Invece di rendere le persone tentano di leggere CAPTCHA, mi piace avere quattro caselle di testo in una riga e chiedere all'utente di controllare due quelli casuali (ad esempio, "Si prega di verificare il primo e terzo scatole") e assicurarsi che quelle sono le uniche due selezionata nella validazione.