4

有没有使用 PHP、Javascript 或 Jquery 的优雅和简单/简单的方法来做到这一点?

4

11 回答 11

6

有很多方法可以做到这一点。我们很幸运通过 python/javascript 混淆了源代码。另一个更简单的最爱是 CSS unicode-bidi 技术:

div.contact { unicode-bidi:bidi-override; direction: rtl; }
<div class="contact">moc.rab@oof</div>

打印出来:

foo@bar.com

于 2009-12-09T13:51:09.080 回答
5

您可能想查看reCAPTCHA Mailhide。它应该很容易从 PHP 中使用。

于 2009-12-09T13:50:26.227 回答
3

您可以使用 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);
?>
于 2009-12-09T14:16:02.213 回答
2

使用 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>

值得注意的是,这两种技术都为用户提供了完全可访问、可点击的链接。

于 2009-12-09T13:47:28.620 回答
2

永远不要在网页上将电子邮件地址写成文本,永远不要!

浏览器机器人肯定启用了 JS -_-

于 2009-12-09T13:55:47.323 回答
1

您可以尝试将 name@example.com 更改为:“name at example dot com”。

然而,机器人可以很容易地解释这一点。

否则,如果您真的有动力,您可以显示电子邮件地址的动态图像。

于 2009-12-09T13:46:14.367 回答
1

这不是一个完美的解决方案,但 Enkoder ( http://hivelogic.com/enkoder ) 对此非常有用。它使用 Javascript 来混淆地址。

于 2009-12-09T13:49:36.913 回答
1

行。所以过了一段时间,我找到了这篇关于如何轻松做到这一点的博客文章。 http://techblog.tilllate.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/ 它对垃圾邮件接收有多大影响..

我想这可能是对上面给出的信息的补充......干杯!

于 2009-12-29T10:29:50.497 回答
0

这也行吗??

使用这样的东西

<span>myaddress</span><span>@</span><span>mydomain.com</span>

这不会作为链接,但仍然可以通过页面上的人眼识别,并且可能不会被机器人解析。没查过,你 您可能可以将该字符串插入 void 并将其绑定到通过解析内容来构成地址的函数..

只是一个快速的想法......

于 2009-12-09T18:58:41.563 回答
0

这很难做到。除非您使用图像,否则浏览器呈现人类可读的任何内容都可以由机器人呈现人类可读。因此,即使在 HTML 源代码中以某种方式对电子邮件进行加扰,然后使用 javascript 函数在页面呈现时动态解扰,这也会被同时完成 DOM 完整呈现的机器人所击败。

直到最近我用上述方法取得了很好的成功,并且没有看到任何垃圾邮件。然而,最近我注意到地址似乎已被拾取。所以我只能假设电子邮件拖网渔船现在正在执行完整的 DOM 渲染。

所以总结一下 - 图像可能是最好的(尽管这不是 100%)

于 2009-12-09T19:27:21.673 回答
0

这是一个简单的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>
于 2011-09-05T13:16:19.960 回答