1

我从 css-tricks.com 找到了这个不错的电子邮件保护脚本(链接)

这是代码:

<?php
    function php_split_js_make_email($phpemail)
    {
        $pieces = explode("@", $phpemail);

        echo '
            <script type="text/javascript">
                var a = "<a href=\'mailto:";
                var b = "' . $pieces[0] . '";
                var c = "' . $pieces[1] .'";
                var d = "\' class=\'email\'>";
                var e = "</a>";
                document.write(a+b+"@"+c+d+b+"@"+c+e);
            </script>
            <noscript>Please enable JavaScript to view emails</noscript>
        ';
    }
?>

用法

<?php php_split_js_make_email("youremail@here.com"); ?>

现在我想知道这段代码今天有多安全,因为这篇文章已经有一年多了......

谢谢

4

2 回答 2

1

只有在嗅探您的页面以查找电子邮件地址的机器人不执行 JavaScript 时,该脚本才是安全的。

我的个人网站上,我将我的电子邮件地址作为图像嵌入,并使用在线表单而不是 mailto 链接来发送邮件。

于 2012-08-23T15:32:56.463 回答
1

我猜你想防止机器人收集电子邮件地址?那么可能不会。越来越多的爬虫能够执行 javascript 代码,像phantomjs这样的工具可以很容易地爬取 javascript 网站的内容。

一般来说,您应该尽量不要公开公开此类数据。有多少访问您页面的人对该地址感兴趣?

考虑为这些人添加某种身份验证检查,例如验证码或登录过程。或者反过来说:不要向每个人展示您不想抓取的敏感数据。请记住,没有 100% 的保护免受刮刀。哦,当使用验证码时,请使用一些合理的东西!我敢打赌,大多数机器人可以比我更好地解决重新验证码服务......在许多情况下,你可以解决一组非常基本的“常识”问题。

于 2012-08-23T15:33:27.710 回答