有没有使用 PHP、Javascript 或 Jquery 的优雅和简单/简单的方法来做到这一点?
11 回答
有很多方法可以做到这一点。我们很幸运通过 python/javascript 混淆了源代码。另一个更简单的最爱是 CSS unicode-bidi 技术:
div.contact { unicode-bidi:bidi-override; direction: rtl; }
<div class="contact">moc.rab@oof</div>
打印出来:
foo@bar.com
您可能想查看reCAPTCHA Mailhide。它应该很容易从 PHP 中使用。
您可以使用 PHP imagestring() 函数来创建图像。
<?php
// Create a 100*30 image
$im = imagecreate(120, 30);
// White background and blue text
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);
// Write the email address at the top left
imagestring($im, 5, 0, 0, 'test@test.com', $textcolor);
// Output the image
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
使用 PHP 实现的最棘手的 HTML 实体和 urlencode 进行混淆:http: //hcard.geekhood.net/encode/
来源: http ://code.google.com/p/hcardvalidator/source/browse/trunk/encode/index.php
我使用的另一种方法是:
<a href="mailto:me@myserver.removethis.com">
<script>[…] a.href = a.href.replace(/removethis\./,'');</script>
值得注意的是,这两种技术都为用户提供了完全可访问、可点击的链接。
永远不要在网页上将电子邮件地址写成文本,永远不要!
浏览器机器人肯定启用了 JS -_-
您可以尝试将 name@example.com 更改为:“name at example dot com”。
然而,机器人可以很容易地解释这一点。
否则,如果您真的有动力,您可以显示电子邮件地址的动态图像。
这不是一个完美的解决方案,但 Enkoder ( http://hivelogic.com/enkoder ) 对此非常有用。它使用 Javascript 来混淆地址。
行。所以过了一段时间,我找到了这篇关于如何轻松做到这一点的博客文章。 http://techblog.tilllate.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/ 它对垃圾邮件接收有多大影响..
我想这可能是对上面给出的信息的补充......干杯!
这也行吗??
使用这样的东西
<span>myaddress</span><span>@</span><span>mydomain.com</span>
这不会作为链接,但仍然可以通过页面上的人眼识别,并且可能不会被机器人解析。没查过,你 您可能可以将该字符串插入 void 并将其绑定到通过解析内容来构成地址的函数..
只是一个快速的想法......
这很难做到。除非您使用图像,否则浏览器呈现人类可读的任何内容都可以由机器人呈现人类可读。因此,即使在 HTML 源代码中以某种方式对电子邮件进行加扰,然后使用 javascript 函数在页面呈现时动态解扰,这也会被同时完成 DOM 完整呈现的机器人所击败。
直到最近我用上述方法取得了很好的成功,并且没有看到任何垃圾邮件。然而,最近我注意到地址似乎已被拾取。所以我只能假设电子邮件拖网渔船现在正在执行完整的 DOM 渲染。
所以总结一下 - 图像可能是最好的(尽管这不是 100%)
这是一个简单的jquery解决这个问题:
<script type="text/javascript">
$(document).ready(function() {
str1="mailto:";
str2="info";
str3="@test.com";
$("#email_a").attr("href", str1+str2+str3);
});
</script>
<a href="#" id="email_a"><img src="sample.png"/></a>