ホームページ >ウェブフロントエンド >jsチュートリアル >電子メールの難読化でスパム収穫を停止する方法
<p>contact <script type="text/javascript"> document.write('<a href="mai'+"lto"+"bob"+'@'+'bobsdomain.com">bob@'+"bobsdomain.com</a>"); </script> </p>これにより、ほとんどのスパマーが停止しますが、JavaScriptを無効にしている人は誰でも住所が表示されません。 (document.writeを使用することはお勧めしません。) より良い解決策は、ユーザーの困難を引き起こすことなくスパマーを阻止するためにテクニックの組み合わせを使用することです。最初のステップは、HTMLで読みやすいがハーベスター防止電子メールアドレスを使用することです。また、これを連絡先ページへのリンクにします。
<p>Contact <a href="contact.html" >bob (at) bobsdomain dot com</a></p>リンクを識別できるように、「電子メール」のクラスを含めたことに注意してください。次のステップは、難読化された電子メールのページを検索し、それらを実際の「Mailto:」リンクに変換するJavaScript関数を書き込むことです。 'email.jsのファイルを作成し、HTMLに含めます。
<script type="text/javascript" src="email.js"></script>必要なコードは短いため、JavaScriptライブラリは必要ありません。 email.jsのコンテンツ:
function EmailUnobsfuscate() { // find all links in HTML var link = document.getElementsByTagName && document.getElementsByTagName("a"); var email, e; // examine all links for (e = 0; link && e < link.length; e++) { // does the link have use a class named "email" if ((" "+link[e].className+" ").indexOf(" email ") >= 0) { // get the obfuscated email address email = link[e].firstChild.nodeValue.toLowerCase() || ""; // transform into real email address email = email.replace(/dot/ig, "."); email = email.replace(/(at)/ig, "@"); email = email.replace(/s/g, ""); // is email valid? if (/^[^@]+@[a-z0-9]+([_.-]{0,1}[a-z0-9]+)*([.]{1}[a-z0-9]+)+$/.test(email)) { // change into a real mailto link link[e].href = "mailto:" + email; link[e].firstChild.nodeValue = email; } } } }コードの説明:
window.onload = EmailUnobsfuscate;
電子メールはどのように機能しますか?これは、文字エンティティ、JavaScript、またはCSSトリックの使用など、いくつかの方法で実行できます。たとえば、「info@example.com」のようなメールアドレスは、「情報(at)例(dot)com」として難読化できます。難読化にもかかわらず、電子メールアドレスは機能的なままであり、通常は人間の訪問者が使用できます。洗練されたボットは、難読化された電子メールアドレスを解読できる可能性があります。ただし、追加の保護層が追加され、スパマーがメールアドレスを収穫することがより困難になります。
電子メールの難読化はユーザーエクスペリエンスに悪影響を及ぼさないはずです。難読化されたメールアドレスは、人間の訪問者にとって読みやすく、使用可能である必要があります。ただし、使用される難読化方法が電子メールアドレスの機能を妨げないようにすることが重要です。
電子メールは1回限りのプロセスですか?スパマーとそのボットがより洗練されるにつれて、継続的な保護を確保するために難読化方法を更新または変更する必要があるかもしれません。
はい、電子メールの難読化は、最大の保護のために他のスパム予防方法と併せて使用する必要があります。これには、キャプチャ、スパムフィルター、電子メールアドレスを公開する代わりに連絡先フォームの使用などの手法が含まれます。難読化は、電子メールアドレスの表示方法のみに影響し、機能の機能には影響しません。難読化された電子メールアドレスに送信されたメールは、通常どおり配信されます。
すべてのWebサイトが電子メールの難読化を必要とするわけではありませんが、メールアドレスを公開するWebサイトには強くお勧めします。これには、訪問者がメールアドレスにアクセスできるようにする必要があるビジネスウェブサイト、ブログ、フォーラム、およびその他のWebサイトが含まれます。
以上が電子メールの難読化でスパム収穫を停止する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。