Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为用户显示电子邮件地址,但对robot隐藏?有没有一种简单的方法可以使用PHP、Javascript或Jquery来实现?_Php_Javascript_Jquery_Email_Email Spam - Fatal编程技术网

如何为用户显示电子邮件地址,但对robot隐藏?有没有一种简单的方法可以使用PHP、Javascript或Jquery来实现?

如何为用户显示电子邮件地址,但对robot隐藏?有没有一种简单的方法可以使用PHP、Javascript或Jquery来实现?,php,javascript,jquery,email,email-spam,Php,Javascript,Jquery,Email,Email Spam,使用PHP、Javascript或Jquery是否有一种优雅且简单的方法来实现这一点?您可以尝试更改name@example.com致: “示例网站名称” 然而,机器人可以很容易地解释这一点 否则,如果您真的有动力,您可以显示电子邮件地址的动态图像。使用最复杂的HTML实体和urlencode进行模糊处理,用PHP实现: 资料来源: 我使用的另一种方法是: <a href="mailto:me@myserver.removethis.com"> <script>[…]

使用PHP、Javascript或Jquery是否有一种优雅且简单的方法来实现这一点?

您可以尝试更改name@example.com致: “示例网站名称”

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


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

使用最复杂的HTML实体和urlencode进行模糊处理,用PHP实现:

资料来源:

我使用的另一种方法是:

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

[…]a.href=a.href.replace(/removethis\./,'');

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

这不是一个完美的解决方案,但Enkoder()在这方面非常有用。它使用Javascript来混淆地址。

您可能需要查看一下。从PHP使用它应该很容易。

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

div.contact { unicode-bidi:bidi-override; direction: rtl; }
<div class="contact">moc.rab@oof</div>
div.contact{unicode-bidi:bidi-override;方向:rtl;}
商务部。rab@oof
打印出:


foo@bar.com

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


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

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

这也行吗

用这样的东西

<span>myaddress</span><span>@</span><span>mydomain.com</span>
myaddress@mydomain.com
这不会作为一个链接,但仍然可以被页面上的人眼识别,并且可能不会被机器人解析。你还没查出来。 您可能会将该字符串插入到一个空中,并通过解析内容将其绑定到一个组成地址的函数


只是快速思考…

这很难做到。除非使用图像,否则任何通过浏览器呈现为人类可读的内容都可以通过机器人呈现为人类可读。因此,即使在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>

$(文档).ready(函数(){
str1=“mailto:”;
str2=“info”;
str3=“@test.com”;
$(“#email_a”).attr(“href”,str1+str2+str3);
});

但如何使用PHP或JS反转电子邮件地址?我不是PHP爱好者,但请尝试strrev()方法:……这只有一个问题,如果有人试图复制粘贴电子邮件地址,他将看到反转版本,“moc”。rab@oof正如我在下面所评论的,任何javascript操作都将被执行完整DOM渲染的机器人所击败。你最好使用图片,或者这里建议的recaptcha解决方案。也许你不相信,但许多客户希望电子邮件以文本形式以HTML格式编写。我警告他们垃圾邮件,但他们根本不在乎。。。好吧,三个月后他们就会处理好它;)如果我希望图像的位置是可调整的,该怎么办?。将图像保存在web服务器上,并简单地加载到html页面中,这将由任何执行最小DOM分区的机器人拾取。这将被任何执行完整DOM渲染的机器人击败。这看起来是我见过的最好的解决方案之一。然而,它确实是伴随着一个轻微的痛苦的代价user@Richard. 是,对于实际使用该地址的用户,即:)