Gibt es eine Möglichkeit JQuery
zu verwenden, um E-Mail-Adressen auf einer HTML
Seite zu verschleiern oder zu verschlüsseln, ohne die Syntax in href
zu ändern?So verschlüsseln Sie E-Mail-Adressen mit JQuery
Antwort
Die Verwendung von JQuery ist möglicherweise nicht die Route, die Sie nehmen möchten, da dies auf der Clientseite wäre ... Gibt es einen Grund, warum Sie nicht auf Serverseite verschlüsseln?
Nun, genau wie ein Kommentar, möchten Sie wahrscheinlich die Quelle eine getarnte E-Mail-Adresse haben und dann jQuery verwenden, um den Link zu korrigieren oder zu konstruieren, um die richtige Adresse zu haben ... weil Bots die Quelle nicht sehen werden die Ergebnisse der Ausführung Ihres Javascript ;-)
Semantische Nazis würden "Kodierung" sagen, nicht "Verschlüsselung". Verschlüsseln bedeutet, dass zum Dekodieren ein Geheimnis benötigt wird. Konvertieren zu HTML entity syntax wäre ein anständiger Encoding Prozess, um neugierige Menschen fernzuhalten, aber Bots könnten es leicht entschlüsseln.
Um irgendwie auf Piggy-Back, was Mike Stone vorgeschlagen hat, was ich tun würde, ist es auf der Serverseite zu verschlüsseln und etwas auf der Serverseite, die es entschlüsseln und zurückgeben als JSON (jsonresult in MVC-Framework, Web-Service, http-Handler, was auch immer). Auf diese Weise können Sie jQuery verwenden, um die E-Mail-Adressen zu entschlüsseln, wenn Sie es wollten, aber es würde immer noch jeden Bot verwirren, der kein Java-Skript unterstützt. Auch dies ist keine kugelsichere Lösung, aber es kann tun, was Sie suchen.
Was ich getan habe ist es zu verschleiern, wenn es gerendert wird und es zu verbergen, dann Javascript verwenden, um die Verschleierung zu beheben und den Link anzuzeigen.
Zum Beispiel können Sie dies vom Server machen:
<a href="mailto:some_address^^some_domain$$com" style='display:none'>Email me</a>
dann mit Javascript Sie regex verwenden können ^^
für @
und $$
für .
Unabhängig von Schema tauschen Sie mit Willen kommen können wahrscheinlich in Ordnung. Natürlich, wenn der Bot Javascript versteht, dann spielt es keine Rolle.
Sie werden 95% der Bots blockieren, die auf Ihrem Weg kommen, und der Rest Ihrer Benutzer wird die Adresse gut sehen.
Korrekt - die Verwendung von JQuery zum Verschlüsseln der E-Mail-Adresse ist nutzlos, da jeder Bot, der den HTML-Code verschrottet, JQuery nicht ausführt. – samjudson