1

私はphpを初めて使用し、情報を取得してメールで送信する必要があるフォームを持っています。問題は、IP アドレスのみが含まれ、他には何も含まれていない電子メールを受信することがあるということです。フィールドに何も入力せずに「送信」を押してみたところ、質問への回答以外のすべてが記載されたメールが届いたので、そうではないようです。私の質問は、IP アドレスのみを含む電子メールを受信するのはなぜですか? ありがとう!

<?php
    $to = "mail@gmail.com";
    $subject = "energiebio contact form: {$_POST['ams']['Destination']} ";
    $from = $_POST['ams']['E-mail'];
    $valid=1;
    $message ='';

    foreach ($_POST['mas'] as $k=>$v){
        if (trim($v)=='')$valid=0;
        $k = str_replace('_',' ',$k);
        $message .="$k : $v<br>";
    }

    $message .="<hr />IP: {$_SERVER['REMOTE_ADDR']}";

    function sndmail($from,$to,$subject,$message){
        $headers = "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers .= "From:".$from ."\r\n";
        mail($to, $subject, $message, $headers);
    }

    if ($valid=='1') {
        sndmail($from,$to,$subject,$message);
        header( 'Location: http://site.ro/danke.html' ) ;
    }else header( 'Location: http://site.ro/error.html' ) ;
?>

私はそれが同じ IP であり、同じ「whois」を取得できないことを発見しました: 92.85.174.105

4

1 に答える 1

1

たとえば、Google ボットやスパム ボットなどの何かが、フォームを使用せずにメール スクリプトにアクセスしていると思います。次のような HTML がある場合:

<form action="postmail.php">
<!-- stuff -->

スクリプトは、送信ボタンを使用せずに「postmail.php」をヒットするだけです。次に、本文の内容が空になり、送信者の IP のみを含む空のメールが届きます。

于 2012-10-22T12:08:24.403 に答える