?の構文を変更せずに、ページJQuery
上の電子メールアドレスをクロークまたは暗号化するために使用する方法はありますか?HTML
href
5 に答える
さて、コメントと同じように、おそらくソースにクロークされた電子メールアドレスを設定し、jQueryを使用してリンクを修正または構築して正しいアドレスを設定する必要があります...ボットは実行の結果ではなくソースを参照するためですあなたのjavascript;-)
JQueryを使用することは、クライアント側で行われるため、希望するルートではない可能性があります...サーバー側で暗号化しない理由はありますか?
セマンティックナチスは、「暗号化」ではなく「エンコード」と言います。暗号化は、デコードにシークレットが必要であることを意味します。HTMLエンティティ構文への変換は、人間を詮索することを防ぐための適切なエンコーディングプロセスですが、ボットはそれを簡単にデコードできます。
マイク・ストーンが提案していたことに便乗するために、私がすることは、サーバー側でそれを暗号化し、それを復号化してJSONとして返す何かをサーバー側に持つことです(mvcフレームワークのjsonresult、webサービス、http ハンドラなど)。そうすれば、必要に応じて jQuery を使用して電子メール アドレスの難読化を解除できますが、Java スクリプトをサポートしていないボットを混乱させる可能性があります。繰り返しますが、これは防弾ソリューションではありませんが、探していることができるかもしれません。
私が行ったことは、レンダリング時に難読化して非表示にし、javascript を使用して難読化を修正し、リンクを表示することです。
たとえば、サーバーからこれをレンダリングできます。
<a href="mailto:some_address^^some_domain$$com" style='display:none'>Email me</a>
次に、Javascriptを使用して、正規表現を使用して交換することができ^^
ます@
$$
.
あなたが思いつくことができるどのような計画でも、おそらくうまくいくでしょう。もちろん、ボットが JavaScript を理解していれば問題ありません。
やって来るボットの 95% をブロックし、残りのユーザーにはアドレスが問題なく表示されます。