我使用PHP在页面上显示存储在数据库中的电子邮件地址。 页面上的电子邮件地址显示如下:
电子邮件:test@example.com
现在,页面上显示的电子邮件地址应该使用JS垃圾邮件保护来隐藏垃圾邮件机器人。
答案 0 :(得分:1)
尝试email encoder,或在脚本中实施一个。
答案 1 :(得分:1)
您可以尝试使用图像(使用php-gd lib)在图像上写入然后显示。 (比如facebook)
答案 2 :(得分:0)
以下是一些很好的资源:
Hiding Email from Spam Bots
Displaying Emails for Users, But not Spambots.
Making Email Addresses Safe from Bots
您可以使用Stackoutver.com的Google Search找到更多信息
哦,有些人问你是否应该这样做:
Does Hiding Emails really make it harder?
Do You Hide Email from Spam Bots on Websites
答案 3 :(得分:0)
我认为你最好不要打扰;客户端垃圾邮件过滤器现在相当不错,通过跳跃箍,你只会让人类更难。
尽管如此,最好的方法是将其转换为您想要的任何格式,无论是图像还是简单的字符串替换:
joe@domain.com -> joeATdomainDOTcom
然后写出标有某种类标识符的地址:
<a href="mailto:joeATdomainDOTcom" class="Email">
<!-- image or link text here -->
</a>
然后使用Javascript解码所有电子邮件链接并将href属性重新写入真实地址。大多数抓取电子邮件地址的蜘蛛都不会执行Javascript,所以编码的半无用地址就是他们所能看到的。
启用了JS的用户将获得或多或少的预期功能(可点击的mailto链接),而没有JS的用户将至少获得人类可读的地址。
你可以做的最糟糕的事情是写出未编码的地址,并相信一些Javascript来隐藏它们。
答案 4 :(得分:0)
PHPEnkoder(Hivelogic's The Enkoder的端口)
“Enkoder,它通过随机编码一段文本并向浏览器发送自我评估Javascript来生成原始文本。这有两个方面:第一,机器人必须首先完成Javascript实现;其次,解码过程可以任意计算密集。“
获得BSD许可。
答案 5 :(得分:0)
尝试http://recaptcha.net/learnmore.html它可以使用验证码来保护电子邮件地址。虽然尝试过,但我使用reCaptcha作为登录表单,并且很容易使用。
答案 6 :(得分:0)
将它们显示为图片是一种选择。还要求用户在看到电子邮件地址之前通过CAPTCHA测试。结合这两个,垃圾邮件机器人可能永远不会收到电子邮件地址。