2010-09-07 69 views
2

我需要一个url混淆器,蜘蛛不应该提取我的链接,如safe_mailto在codeiginitor中...是否有可能使用PHP,如果是这样的话,请给出一个例子。在php中的url混淆器

+9

如何不先模糊问题? – Gordon 2010-09-07 12:21:16

+5

我必须问,你为什么要这么做?你想让它更安全吗?通过默默无闻的安全性是没有安全的... – ircmaxell 2010-09-07 12:21:42

+1

可能的重复[混淆网站上的电子邮件地址的最佳方式?](http://stackoverflow.com/questions/748780/best-way-to-obfuscate -an-e-mail-address-on-a-site) – Gordon 2010-09-07 12:32:07

回答

1
$link = 'mailto:[email protected]'; 
$obfuscatedLink = ""; 
for ($i=0; $i<strlen($link); $i++){ 
    $obfuscatedLink .= "&#" . ord($link[$i]) . ";"; 
} 

由于ircmaxell评论说,这是一种非常原始的困惑,真的不会阻止垃圾邮件发送者很多。

2

构建一个脚本标记,将电子邮件从较小的String.fromCharCode调用中连接出来,也许与@Dominic建议的html实体组合在一起,您可以使用各种方法使其更复杂。关键是要阻止大多数电子邮件抓取者发现它。

它会阻止他们吗?不完全。垃圾邮件机器人日复一日地变得更加智能,并且需要5分钟的时间来模拟您的算法,以便从输出中重建电子邮件。正如@ircmaxell所说:“通过隐晦的安全性根本就没有安全性”。

任何好的方法?:是的!将所有电子邮件放在数据库表中,使用ID(如果它们尚未以这种方式存储),则用户将点击类似reveal.php?email=1564,该页面将显示recaptcha或任何其他好的验证码,如果有效,它会会向他们显示电子邮件。