如何显示的电子邮件地址的用户,但是从机器人隐藏?有一个简单的办法做到这一点使用PHP,Javascript或jQuery的?

StackOverflow https://stackoverflow.com/questions/1873992

有一种优雅和轻松/简单的方法来做到这一点使用PHP,Javascript或jQuery的?

有帮助吗?

解决方案

可以使用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);
?>

其他提示

有这样做的许多方面。我们有运气SOM混淆通过Python / JavaScript源。另一个较简单的最喜欢的是CSS Unicode的比迪技术:

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

打印出:

foo@bar.com

您可能想看看验证码Mailhide 。应该很容易从PHP使用。

从来不写电子邮件地址作为网页上的文字,从来没有!

和浏览器机器人可靠地启用JS -_-

使用最棘手的可能HTML实体和进行urlencode,PHP实现模糊处理: http://hcard.geekhood.net/encode/

来源: http://code.google.com/p/ hcardvalidator /源/浏览/中继/编码/ index.php的

我用另一种方法是:

<a href="mailto:me@myserver.removethis.com">
<script>[…] a.href = a.href.replace(/removethis\./,'');</script>

这是值得注意的是,这两种技术给用户带来完美的访问,可点击的链接。

您可以尝试改变name@example.com到: “名称在例如点com”。

然而,机器人可以很容易地考虑到这一点。

否则,你可以,如果你是真正动机显示电子邮件地址的动态图像。

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

确定。因此,一段时间后,我发现如何做到这一点很容易这篇博客文章。 的http://技术博客.tilllate.com / 2008/07/20 /十方法对模糊处理的电子邮件,地址,比较/ 又有多少影响它做对垃圾邮件的接收..

我想这可能是上面给定的信息互补.. 干杯!

将这工作以及??

使用这样的

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

这会受不了的链接,但仍然是通过识别人眼在页面上,并可能续由机器人进行解析。还没有检查出来,你。 你也许可以插入串入一个空白,并将其绑定到通过解析出来的内容就构成了地址的功能..

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

这是很难做到的。除非你使用的图像,这是由您的浏览器呈现的人类可读的任何东西都可以由机器人来呈现人类可读。因此,即使在加扰的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>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top