我的网站上有各种不同的mailto:电子邮件地址,现在它们正在遭受各种收割机的攻击,随后我会收到垃圾邮件。
有人能帮我创建以下PHP代码吗:
<a href="mailto:info@company.com">info@company.com</a>
为了防止地址被收集,我可以在网站上显示的各种电子邮件地址上使用此脚本吗?
谢谢。
有人建议使用JavaScript的document.write()
编写电子邮件地址。我不喜欢这种方法,因为它很容易被机器人攻破,而且无法真正地渲染页面。我曾经收到过用这种方式“保护”的电子邮件地址的垃圾邮件(虽然数量和速度都没有未受保护的地址那么多,但仍然存在)。
我更喜欢的方法是使用一个虚拟的电子邮件地址来编写链接(可以将其发送到您邮件服务器上的蜜罐电子邮件地址,以便您可以确定要列入黑名单的服务器IP地址)。然后,在链接上使用一个onClick
处理程序,在用户单击时替换为真实的电子邮件地址。没有电子邮件收割机会向页面上的每个链接发送点击事件,这种方法行不通。
<a href="mailto:fake@example.com"
onClick="this.href=this.href.replace('fake', 'real')">
Send Us E-mail</a>
<script type='text/javascript'>
function email(name, domain, withlink) {
var addr = name + '@' + domain;
if(withlink) {
document.write('<a href="mailto:' + addr + '">' + addr + '</a>');
} else {
document.write(addr);
}
}
</script>
然后,当您想在网站上打印电子邮件地址时:
<script>email('myuser', 'mydomain');</script>
<script>email('myuser', 'mydomain', true);</script>
<script>email('bob', 'domain.com', true);</script>
会在您放置该代码的确切位置生成一个指向bob@domain.com的电子邮件链接。 - Alex Vidal我会用JavaScript来做。尝试像这样:
<script>
document.write('<a href="mailto:inblahfo@company.com">inblahfo@company.com</a>'
.replace(/blah/g, ''));
</script>
function obfuscate_email($email) {
$obf = '';
for($i = 0; $i < strlen($email); $i++) {
$obf .= '&#' . ord($email[$i]) . ';';
}
return $obf;
}
echo '<a href="mailto:' . obfuscate_email('info@company.com') . '">' . obfuscate_email('info@company.com') . '</a>';
HTML源代码:
<a href="mailto:info@company.com">info@company.com</a>
我一直喜欢使用Hive Enkoder来创建mailto链接:
<script type="text/javascript">
var part1 = "me";
var part2 = "mydomain.com";
var part3 = "Click Here to Send";
document.write('<a href="mai' + 'lto:' + part1 + '@' + part2 + '">');
document.write(part3 + '</a>');
</script>
或者
查看更多方法:
document.write(part1 + '@' + part2 + '</a>');
这样 Bill 就不必改变他的原始概念了。很好。 - Ben您可以使用免费的外部服务,例如aemail.com:
@email是一个免费的电子邮件隐藏服务,它使用短链接隐藏电子邮件,当点击链接后将发送者重定向到mailto-url。
在aemail.com输入电子邮件后,您将获得一个短链接,该链接可用于替换您的'mailto'链接。一旦链接被点击,您的用户将被重定向到'mailto' URL,而不会注意到aemail.com。 API 可用于动态隐藏电子邮件/获取URL。
示例:
<a href="mailto:info@itee.com">联系我们</a>
替换为
<a href="https://aemail.com/q2">联系我们</a>
将保持电子邮件链接正常工作。
我推荐使用reCAPTCHA。它会在显示你的电子邮件之前让你输入两张图片中的文字,这样可以完全保证安全性,并且还有助于数字化图书。该网站提供了一个很棒的API(复制粘贴代码),可以轻松地将其实现到你的网站上。
更新 - 这里是Mailhide的直接链接