我从使用Matt的formmail脚本的Web表单中收到了大量垃圾邮件。我曾尝试在页面上放置一个reCaptcha,但仍然收到垃圾邮件。我想,如果我将电子邮件和formmail脚本隐藏在一个外部js文件中,则可能会减少垃圾邮件。因此,我使用了外部js文件中的值,并做了document.write使用变量。问题是cgi抱怨我没有使用收件人。它确实正确获取了URL和收件人电子邮件地址,因为我做了一个可以完美显示两者的加载警报。想知道为什么它不随电子邮件一起提交。从我的js文件中获取:
var myURL = "www.mycompany.com/cgi-bin/formmail.cgi";
var myOwnEmail = "support@mycompany.com";
在我的document.write我有:
document.write('<form name="myForm" action="'+myURL+'" onSubmit="return checkForm()" method="POST"><br/>');
document.write('<input type="hidden" name="recipient" value="'+myOwnEmail+'">');
还是我应该使用其他方法来防止垃圾邮件?
答案 0 :(得分:1)
首先,您将无法真正阻止垃圾邮件。这就是为什么我们如今拥有如此复杂的反垃圾邮件措施。
但是,您可以通过阻止实体仅从服务器上抓取目标电子邮件地址,在服务器上而不是在Web浏览器中实施所有这些操作来改善问题。这样,僵尸程序甚至看不到该电子邮件地址。
这当然不能阻止他们通过您的表单提交垃圾邮件,但是您的验证码至少应该对此有所帮助。
据我所知,这是很长的时间(数十年),因为浏览器对formmail.cgi的调用是常见的做法。
答案 1 :(得分:0)
最好使用其他方式来防止垃圾邮件,最终表单将具有(并且需要具有)该URL或电子邮件才能正常工作。也许您可以取消,但是这需要浏览器能够理解它。另外,最好将电子邮件保留在服务器端。您可以尝试使用一些形式的验证码,但是会出现垃圾邮件。