PHP、Javascript、またはJqueryを使用してエレガントで簡単/シンプルな方法はありますか?
11 に答える
これを行うには多くの方法があります。python/javascriptを介してソースを難読化する運がありました。もう1つの簡単なお気に入りは、CSSのunicode-bidiテクニックです。
div.contact { unicode-bidi:bidi-override; direction: rtl; }
<div class="contact">moc.rab@oof</div>
プリントアウト:
foo@bar.com
reCAPTCHAMailhideを調べてみてください。PHPから使いやすいはずです。
PHP imagestring()関数を使用して画像を作成できます。
<?php
// Create a 100*30 image
$im = imagecreate(120, 30);
// White background and blue text
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);
// Write the email address at the top left
imagestring($im, 5, 0, 0, 'test@test.com', $textcolor);
// Output the image
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
最もトリッキーな HTML エンティティと URL コードを使用した難読化 (PHP で実装): http://hcard.geekhood.net/encode/
ソース: http://code.google.com/p/hcardvalidator/source/browse/trunk/encode/index.php
私が使用する別のアプローチは次のとおりです。
<a href="mailto:me@myserver.removethis.com">
<script>[…] a.href = a.href.replace(/removethis\./,'');</script>
どちらの手法も、ユーザーに完全にアクセス可能でクリック可能なリンクを提供することは注目に値します。
ウェブページに電子メールアドレスをテキストとして書くことは絶対にしないでください。
ブラウザボットは確かにJSを有効にしています-_-
name@example.com を「name at example dot com」に変更してみてください。
ただし、ロボットはこれを簡単に説明できます。
それ以外の場合は、本当にやる気がある場合は、メール アドレスの動的な画像を表示できます。
これは完全な解決策ではありませんが、これには Enkoder ( http://hivelogic.com/enkoder ) が非常に役立ちます。Javascript を使用してアドレスを難読化します。
Ok。しばらくして、これを簡単に行う方法に関するこのブログ記事を見つけました。 http://techblog.tilllate.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/ また、スパムの受信にどの程度の影響があるか..
これは上記の情報を補完するものになると思います..乾杯!
この問題に対する簡単な jquery ソリューションを次に示します。
<script type="text/javascript">
$(document).ready(function() {
str1="mailto:";
str2="info";
str3="@test.com";
$("#email_a").attr("href", str1+str2+str3);
});
</script>
<a href="#" id="email_a"><img src="sample.png"/></a>
これを行うのは難しいです。画像を使用しない限り、ブラウザによって人間が判読できるものはすべて、ロボットによって人間が判読できるようにレンダリングできます。そのため、HTML ソースで何らかの方法で電子メールをスクランブルし、JavaScript 関数を使用してページ レンダリングで動的にスクランブルを解除しても、これは DOM の完全なレンダリングも行うロボットによって無効になります。
最近まで、私は上記の方法でうまくいっており、スパムを目にすることはありませんでした。しかし最近、アドレスが盗まれているように見えることに気付きました。したがって、電子メール トローラーが完全な DOM レンダリングを実行しているとしか思えません。
結論としては、おそらく画像が最適です (それでも 100% ではありませんが)。
これでもうまくいくでしょうか??
このようなものを使用して
<span>myaddress</span><span>@</span><span>mydomain.com</span>
これはリンクとしては機能しませんが、ページ上で人間の目には認識可能であり、おそらくロボットによって解析されることはありません。調べてないですよね。おそらく、その文字列をボイドに挿入し、コンテンツを解析してアドレスを構成する関数にバインドできます..
ざっと考えただけで...