2010-12-30 3 views
1

나는 사람의 이름, 전자 메일 주소, 회사 등의 특정 정보를 묻는 일련의 텍스트 상자와 관련된 클라이언트를위한 웹 페이지를 만들었습니다. 정보를 내 고객에게 우편으로 보내십시오. 버튼을 테스트 할 때마다 완벽하게 작동하는 것처럼 보였고 페이지를 업로드하고 완료되었다고 생각했습니다.PHP 이메일 양식 무작위 텍스트 보내기

이름 : rfhopzdgmx의 rfhopzdgmx
이메일 : [email protected]
회사 : zUDXatAfoDvQrdH

우편 주소 :
AaSsXklqpHIsoCNcei
gXsimMPRBYZqq
그러나, 다른 날 내 클라이언트는 사이트에서이 이메일을 받았습니다 vGLvZraZNdpOAV, ChsmuibE PoKzaSCubXPRI

집 전화 : CIJbIfjMfjIaTqAlD
직장 전화 : JFLZBOvru
휴대 전화 : XlFJTTFGiTTiiFQfy
팩스 : UEJMOVZodWPkKxew

댓글 : sPvSCE의 hgetwoguderu, *
[URL = HTTP : //atyktjlxcznl.com/] atyktjlxcznl [/ URL],
[ link = http : //nudvfcehwpyg.com/] nudvfcehwpyg.com/ http://lvvwkbzbhnzp.com/

참고 : * 줄에는 HTML 링크 코드가 포함되어 있으며,이 사이트에 표시하는 방법을 모르겠다.

전자 메일 단추 사이트의 PHP 코드는 다음과 같습니다.

?>

<?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: [email protected]"; 
     $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>"; 
    } 
} 

나는이, 클라이언트가이 몇 전자 우편을 언급 한 일이 방법에 약간 어이, 그래서 나는 임의의 결함 생각하지 않습니다. 또한 전자 메일 주소는 전자 메일 주소와 같이 형식이 지정되어 누군가 또는 일부 프로그램이 각 텍스트 상자 옆에있는 레이블을 해석하고있었습니다. 나는 또한 입력 한 성과 이름이 같은 단어라는 사실을 알아 냈습니다. 서로 다른 텍스트 상자에 있지만 스팸 프로그램을 생각하고 있지만, 광고를하기보다는 돈을 벌려고합니다. 밖으로 임의의 텍스트? 또한 주석 섹션은 나에게 아무런 의미가 없습니다. 링크는 어디에도 없습니다. 모든 태그는 완벽하게 형식이 지정되어 있습니다. 임의의 사람이 태그를 알지 못하고, 프로그래머가 그 태그를 알지 못합니다. 프로그램도 마찬가지입니다.

나는이 문제의 원인이나 해결 방법을 모릅니다. 누구든지 아이디어가 있습니까?

답변

9

스패머/봇이 귀하의 페이지에 더프 데이터를 입력 했으므로 귀하는이를 귀하의 신청서에 정중하게 보냈습니다.

왜 이것이 수수께끼라고 생각하십니까?

+2

예. 스팸봇. 나는이 모든 것을 얻는다. 그들은 'nudvfcehwpyg'을 위해 Google을하고 의견 등으로 텍스트 영역에 자신의 의견을 게시하는 모든 사이트를 폭파. – ceejayoz

+1

+1 분명하지만, 사실. :-) –

+0

나는 항상 무작위로 텍스트를 보내는 것보다는 광고 나 무언가로 뭔가를 얻으려고 할 것이라고 생각했다. 어떻게 든 그것을 막을 방법이 있습니까? 아니면 우리는 성가신 로봇과 함께 살 필요가 있습니까? – Doug

1

캡쳐를 추가하여 발생을 막으십시오. 자신의 글을 쓸 수 없다면 reCAPTCHA

1

"당신은 인간입니까?"와 같은 간단한 질문조차도 사용할 수 있습니다. 또는 "2 + 2?" 봇을 중지시킬 것입니다. 또한 제출시 숨겨진 값을 설정하고 서버에서 확인하기 위해 일부 js를 사용합니다. $ email 및 $ phone에 대한 일부 유효성 검사가 유용 할 것입니다.

0

사람들이 CAPTCHA를 읽지 않게 만드는 대신 4 개의 텍스트 상자가 연속적으로 표시되고 2 개의 임의의 텍스트 상자를 확인 (예 : "첫 번째 및 세 번째 상자를 확인하십시오")하고 해당 글자가 유효성 검사에서 2 명만 검사했습니다.