CodeIgniter safe_mailto函数不会混淆电子邮件地址

时间:2016-09-10 18:47:08

标签: javascript php codeigniter obfuscation

我在CodeIgniter 3.1.0中使用了<meta http-equiv="refresh" content="5; URL=javascript:window.open('http://www.azim.co.il/be-a-part/');"> 函数,但似乎它不能像文档中描述的那样工作。这是我的代码:

safe_mailto()

正如文档所述,此函数使用JavaScript编写的序号来混淆mailto标记的版本,以帮助防止垃圾邮件机器人收集电子邮件地址。但是我得到的结果(通过复制链接目的地)只是书面电子邮件地址的简单形式 这里有什么遗漏吗?

1 个答案:

答案 0 :(得分:1)

是的确有效。检查您的网页HTML源代码。

使用安全邮件加载您的页面,然后查看页面源,找到链接,它不在那里。 Javascript正在为屏幕解码它,但是url scraper将无法看到它,因为它在源代码中都是javascript。

链接编码为:

<?php echo safe_mailto('me@my-site.com', 'Click Here to Contact Me'); ?>

链接显示为:

Click Here to Contact Me

Inspect元素显示为:

<a href="mailto:me@my-site.com">Click Here to Contact Me</a>

源代码实际上是:

<script type="text/javascript">
//<![CDATA[
var l=new Array();
l[0] = '>';
l[1] = 'a';
l[2] = '/';
l[3] = '<';
l[4] = '|101';
l[5] = '|77';
l[6] = '|32';
l[7] = '|116';
l[8] = '|99';
l[9] = '|97';
l[10] = '|116';
l[11] = '|110';
l[12] = '|111';
l[13] = '|67';
l[14] = '|32';
l[15] = '|111';
l[16] = '|116';
l[17] = '|32';
l[18] = '|101';
l[19] = '|114';
l[20] = '|101';
l[21] = '|72';
l[22] = '|32';
l[23] = '|107';
l[24] = '|99';
l[25] = '|105';
l[26] = '|108';
l[27] = '|67';
l[28] = '>';
l[29] = '"';
l[30] = '|109';
l[31] = '|111';
l[32] = '|99';
l[33] = '|46';
l[34] = '|101';
l[35] = '|116';
l[36] = '|105';
l[37] = '|115';
l[38] = '|45';
l[39] = '|121';
l[40] = '|109';
l[41] = '|64';
l[42] = '|101';
l[43] = '|109';
l[44] = ':';
l[45] = 'o';
l[46] = 't';
l[47] = 'l';
l[48] = 'i';
l[49] = 'a';
l[50] = 'm';
l[51] = '"';
l[52] = '=';
l[53] = 'f';
l[54] = 'e';
l[55] = 'r';
l[56] = 'h';
l[57] = ' ';
l[58] = 'a';
l[59] = '<';

for (var i = l.length-1; i >= 0; i=i-1) {
    if (l[i].substring(0, 1) === '|')  document.write("&#"+unescape(l[i].substring(1))+";");
        else document.write(unescape(l[i]));
    }
    //]]>
</script>

因此它被混淆了。

希望有所帮助。

保罗。