Javascript 如何防止垃圾邮件发送者从我的联系人表单向我发送空白电子邮件

Javascript 如何防止垃圾邮件发送者从我的联系人表单向我发送空白电子邮件,javascript,php,email,contact-form,spam-prevention,Javascript,Php,Email,Contact Form,Spam Prevention,我在我的网站上有一个简单的联系方式,几天前我开始从网站上的联系方式收到半封空白的电子邮件 它们看起来与下面的示例相同,只填写了姓名和电子邮件字段,但电话和消息字段为空: 名称:5906f36c9c72b 电子邮件:njhjlee@gmail.com(随时发送不同的电子邮件) 电话: 消息: 这是HTML代码: <form id="contactform" action="assets/php/mail_submit.php" method="post">

我在我的网站上有一个简单的联系方式,几天前我开始从网站上的联系方式收到半封空白的电子邮件

它们看起来与下面的示例相同,只填写了姓名和电子邮件字段,但电话和消息字段为空:

名称:5906f36c9c72b 电子邮件:njhjlee@gmail.com(随时发送不同的电子邮件) 电话:
消息:

这是HTML代码:

<form id="contactform" action="assets/php/mail_submit.php" method="post">
                        <div class="row">
                            <div class="col-xs-12 col-md-4">
                                <input type="text" name="name" id="name" placeholder="Your Name" required/>
                            </div><!--column-->
                            <div class="col-xs-12 col-md-4">
                                <input type="text" name="email" id="email" placeholder="Your email" required/>
                            </div><!--column-->
                            <div class="col-xs-12 col-md-4">
                                <input type="text" name="phone" id="phone" placeholder="Ваш телефон" required/>
                            </div><!--column-->
                            <p class="antispam">Leave this empty: <input type="text" name="url" /></p>
                            <div class="col-xs-12 col-md-8">
                                <textarea placeholder="Message" name="message" id="message" required></textarea>
                            </div><!--column-->
                            <div class="col-xs-12 col-md-4">
                                <input class="btn btn-default" id="submit" type="submit" value="Send"/>
                            </div><!--column-->

                        </div><!--row-->
                    </form>

我检查了日志,发现所有的垃圾邮件发送者机器人都来自Thor网络,并且具有不同的IP。我试过验证码,但没用。请提供建议帮助…

尝试加强javascript检查,同时使用“修剪”:

使用PHP str_word_count加强对空消息的检查

例如

或者你可以使用

function FilterData($value){

    $trimmed = trim($value);
    $notags = strip_tags($trimmed);
    return $notags;
}    
然后:

$name = FilterData($_POST['name']);
对于您可以使用的电子邮件

$email = filter_var($email, FILTER_SANITIZE_EMAIL);
更多信息和


希望有帮助;)

使用验证码,这可以防止大多数机器人。如果没有用,说明你没有正确地执行。嗨,我试过了,但是垃圾邮件还是来了。无论如何,谢谢你!消息还是空的吗?
$message= filter_input(INPUT_POST, 'message');

// check $message is not empty and that it contains more than 5 words
if($message != "" || str_word_count($message) < 5) {
     echo "Message is valid"

}else{
     echo "Invalid Message";
}
$name= filter_input(INPUT_POST, 'name');
function FilterData($value){

    $trimmed = trim($value);
    $notags = strip_tags($trimmed);
    return $notags;
}    
$name = FilterData($_POST['name']);
$email = filter_var($email, FILTER_SANITIZE_EMAIL);