如何防止表单上的垃圾邮件 [英] How to prevent spam on a form

查看:91
本文介绍了如何防止表单上的垃圾邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的表单,用户可以使用该表单来注册其电子报的电子邮件地址.

I have a simple form that users use to register their email address for a newsletter.

我想防止垃圾邮件发送者提交000个虚假电子邮件.最好的方法是什么?

I want to prevent spammers submitting 000's of fake emails. What's the best way to do this?

我曾考虑过将每个IP地址的输入数量限制为每小时60个,但是后来认为,确定的任何人都只会在攻击中欺骗他们的IP.

I thought about limiting the number of inputs from each IP address to, say, 60 per hour, but then thought anyone determined will simply spoof their IP as part of the attack.

有什么想法吗?

* 我正在寻找服务器端解决方案.在这种情况下,UX很重要,因此我不想使用验证码,也不想让用户使用令牌进行验证

推荐答案

您可以这样做,

function validEmail($email){
    if (filter_var($email, FILTER_VALIDATE_EMAIL)){
        list($user,$domain) = explode('@',$email);
        return checkdnsrr($domain, 'MX');
    } 
    return false;
}

它可能不会收到所有假电子邮件,但我总是通过向他们发送带有链接的验证电子邮件来验证他们的电子邮件.

it may not pick up every fake email, but I always validate their email by sending them a validation email with a link.

对于使用CSRF的表单上的垃圾邮件,应该可以防止大多数垃圾邮件(至少以我的经验)

As for spam on a form use CSRF, that should prevent most spam (at least in my experience)

这篇关于如何防止表单上的垃圾邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆