質問

使用する方法はありますか JQuery 電子メールアドレスをクロークまたは暗号化する HTML ページの構文を変更せずに、 href?

役に立ちましたか?

解決

JQuery の使用はクライアント側で行われるため、希望する方法ではない可能性があります...サーバー側で暗号化しない理由はありますか?

他のヒント

そうですね、コメントとして、ソースにクロークされた電子メール アドレスを持たせ、jQuery を使用してリンクを修正または構築して正しいアドレスを持つようにする必要があるでしょう...なぜなら、ボットは JavaScript の実行結果ではなくソースを参照するからです ;-)

意味論的なナチスは「暗号化」ではなく「暗号化」と言うだろう。暗号化ということは、復号化するには秘密が必要であることを意味します。に変換します HTMLエンティティの構文 まともだろう エンコーディング 人間がのぞき見を防ぐためのプロセスですが、ボットは簡単にそれを解読できます。

Mike Stone が提案したことに便乗して、サーバー側で暗号化し、それを復号化して JSON (mvc フレームワーク、Web の jsonresult ) として返す何かをサーバー側に用意することです。サービス、http ハンドラーなど)。そうすれば、必要なときに jQuery を使用して電子メール アドレスの難読化を解除できますが、それでも Java スクリプトをサポートしていないボットは混乱してしまいます。繰り返しますが、これは完全な解決策ではありませんが、探しているものを実行できる可能性があります。

私がやったのは、レンダリング時に難読化して非表示にし、JavaScriptを使用して難読化を修正してリンクを表示することです。

たとえば、これをサーバーからレンダリングできます。

<a href="mailto:some_address^^some_domain$$com" style='display:none'>Email me</a>

Javascriptを使用すると、正規表現を使用して交換できます ^^ のために @ そして $$ のために .

あなたが思いつくことができるどんな計画でもおそらく大丈夫です。もちろん、ボットが JavaScript を理解できるのであれば、それは問題ではありません。

やって来るボットの 95% をブロックすると、残りのユーザーにはアドレスが問題なく表示されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top