0

だから私はほとんど裸のHTMLページを持っていて、ウィンドウがロードされたときに入力される空のdivタグを持っています。

スパムを減らすためにユーザーの電子メールをエンコードする必要があることを読みました。私のページには次の HTML があります。

<div id="email"></div>

次のようなコンテンツを動的に入力します。

document.getElementById("email").innerHTML = "<a href=...>"

ページをレンダリングするときに、JavaScript を使用して電子メールをさらにエンコードする必要がありますか?

4

2 に答える 2

1

このようなスクリプトを使用できます。Javascript を実行できるボットは引き続き電子メールにアクセスできますが、<a>タグと電子メール アドレスはソース コードのどこにも表示されないため、HTML をダウンロードして電子メール アドレスをスキャンするだけのボットは、電子メール アドレスに気づきません。 .

<script>
    (function(d){
        var s = d.getElementsByTagName('script');
        s = s[s.length - 1];

        var a = d.createElement('a');
        a.href = rot13('znvygb') + '\x3a' +
          rot13(arguments[2]) +  '\x40' + rot13(arguments[3]);
        a.innerHTML = arguments[1];

        s.parentNode.insertBefore(a, s);

        function rot13(s){
            return s.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});
        }

    })(document, 'Send Email', 'wbuaqbr', 'tznvy.pbz');
</script>

JSFiddle

于 2013-05-23T22:54:06.420 に答える
1

上記のコメントで Matt Greer に同意します。

個人的には、javascript を使用してもオンラインでメールを読み取れるようにはしません。プロジェクトで必要な場合は、登録メンバーのみが表示できるようにします。登録プロセスが十分に安全で、スパムがない場合は、電子メールも安全です.

次に、上記のような基本的な JavaScript の実装は非常に安全です。

于 2013-05-23T22:45:02.087 に答える