2016-09-10 6 views
1

CodeIgniter 3.1.0でsafe_mailto()関数を使用しましたが、文書に記載されているとおりに動作しないようです。これは私のコードです:CodeIgniter safe_mailto関数は電子メールアドレスを難読化していません

<?php 
$this->load->helper('url'); 
echo safe_mailto('[email protected]'); 
?> 

ドキュメントが言うように、スパムボットによって収穫されることから、電子メールアドレスを防ぐために、JavaScriptで書かれた序数を使用してのmailtoタグのこの機能難読化されたバージョン。しかし、結果として(リンク先をコピーすることによって)得られるものは、書かれた電子メールアドレスの単純な形式です。
ここに欠けているものがありますか?

答えて

1

はい動作します。あなたのページのHTMLソースを確認してください。

安全なmailtoでページを読み込み、ページソースを表示し、リンクを見つけてください。そこにはありません。 Javascriptは画面のためにそれを解読していますが、ソースではすべてjavascriptなので、URLスクレイパーはそれを見ません。以下のようにコーディング

リンク:

<?php echo safe_mailto('[email protected]', 'Click Here to Contact Me'); ?> 

リンクとして表示されます:

Click Here to Contact Me 

要素を点検として表示されます:ソースコードが実際にある

<a href="mailto:[email protected]">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> 

したがって、難読化されています。

希望に役立ちます。

ポール。

+0

ありがとうPaulD。そのとおり。私はinspect要素でそれをチェックし、電子メールアドレスが見えていた。しかし、ソースでは電子メールはありません... –

関連する問題