oxo888oxo: E-Mail mittels Character Entities verschlüsseln ... sinnvoll?

Hallo

Ist es eigentlich heutzutage noch sinnvoll, seine E-Mail Adresse auf seiner Webseite noch mittels Character Entities zu verschlüsseln/verschleiern?

Ich habe hier einen sehr schönen Beitrag zum Thema gefunden:
Spamsichere E-Mail-Adressen mit dem »Email Address Encoder«
Allerdings ist der Artikel aus dem Jahr 2009.
Und in den Kommentaren haben sich schon damals viele zweifelnd geäußert.

Mach so etwas heute noch Sinn?
Oder ist das aufgrund ausgereifter Crawler usw. im Grunde überholt?

Gruß
Ingo

  1. Moin,

    Ist es eigentlich heutzutage noch sinnvoll, seine E-Mail Adresse auf seiner Webseite noch mittels Character Entities zu verschlüsseln/verschleiern?

    Gegenfrage: War das je sinnvoll?

    Nein. Das Auflösen von Entity- oder numerischen Zeichenreferenzen gehört zu den Basisanforderungen an ein Programm, das HTML verarbeiten oder interpretieren will. Eine derartige Verschleierung ist also für einen Bot ebensowenig ein Hindernis wie für uns, wenn in einem Zeitungsartikel ein Wort plötzlich kopfüber gesetzt ist.

    Mach so etwas heute noch Sinn?
    Oder ist das aufgrund ausgereifter Crawler usw. im Grunde überholt?

    Das ist heute IMO genausowenig sinnvoll wie damals. Vielleicht hat vor vielen Jahren mal jemand gedacht, was uns Menschen das Lesen erschwert, müsste für Bots auch ein Hemmnis sein.

    Ciao,
     Martin

    --
    Auf jeden Menschen auf der ganzen Welt entfallen statistisch gesehen etwa 3000 Spinnen, wie Wissenschaftler jetzt festgestellt haben.
    Wer will meine haben? Denn ich will sie bstimmt nicht.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Moin Martin

      Eine derartige Verschleierung ist also für einen Bot ebensowenig ein Hindernis wie für uns, wenn in einem Zeitungsartikel ein Wort plötzlich kopfüber gesetzt ist.
      Vielleicht hat vor vielen Jahren mal jemand gedacht, was uns Menschen das Lesen erschwert, müsste für Bots auch ein Hemmnis sein.

      OK alles klar. Hatte ich mich schon gedacht.
      Das obige bringt es ja sehr schön anschaulich auf den Punkt.

      Gruß
      Ingo

    2. @@Der Martin:

      nuqneH

      Gegenfrage: War das je sinnvoll?

      Nein.

      Da wär ich mir nicht so sicher.

      Das Auflösen von Entity- oder numerischen Zeichenreferenzen gehört zu den Basisanforderungen an ein Programm, das HTML verarbeiten oder interpretieren will.

      Ein solcher Bot will kein HTML verarbeiten oder interpretieren, sondern lediglich E-Mail-Adressen herausfiltern.

      Natürlich könnte man einen Bot so programmieren, dass er Entities auflöst. Aber warum sollte man den Aufwand betreiben? In der Zeit, in der der ein Bot eintausend escapete E-Mail-Adressen findet, könnte er auch eine Million nicht-escapete im Web finden.

      Ich *vermute*, dass der Großteil der Bots tatsächlich dumm gehalten ist und Entities nicht auflöst. Ich setzte für E-Mail-Adressen tatsächlich Escapes ein, mit dem Wissen, dass das nur gegen die dümmsten Bots hilft. Aber es kostet ja kaum was; mit Tools wie Richard Ishidas  Code Converter ist das schnell gemacht.

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      1. Hallo Gunnar

        mit Tools wie Richard Ishidas  Code Converter ist das schnell gemacht.

        Ich habe das gerade eben mal probiert.
        Aber irgendwie klappt es nicht.
        Oder ich stelle mich blöd an.

        Ich gebe dort oben in das grüne Feld meine E-Mail Adresse ein und klicke auf "Convert".
        Welches von den Ergebnissen muss ich denn dann in meinen HTML-Code einsetzen?

        Gruß
        Ingo

        1. @@oxo888oxo:

          nuqneH

          Ich gebe dort oben in das grüne Feld meine E-Mail Adresse ein und klicke auf "Convert".
          Welches von den Ergebnissen muss ich denn dann in meinen HTML-Code einsetzen?

          Man muss bei „Hexadecimal NCRs“ (bzw. „Decimal NCRs“) den Haken bei „Show ascii“ entfernen.

          Qapla'

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      2. Hi,

        Das Auflösen von Entity- oder numerischen Zeichenreferenzen gehört zu den Basisanforderungen an ein Programm, das HTML verarbeiten oder interpretieren will.

        Ein solcher Bot will kein HTML verarbeiten oder interpretieren, sondern lediglich E-Mail-Adressen herausfiltern.

        Da ich meinen Bot nicht manuell auf jeden einzelnen URL ansetzen will, werde ich ihn zumindest so schreiben, dass er automatisch weitere Links findet und in seine Liste abzuklappernder Adressen aufnimmt – ganz grundlegende Web-Spider-Funktionalität, wenn du so willst.
        Und diese Funktionalität werde ich sicher nicht selber schreiben, sondern auf eine der zahlreichen Libs zurückgreifen, die das bereits eingebaut haben. Basis-Funktionalität zum Verarbeiten von HTML ist also schon von Anfang an dabei.

        Natürlich könnte man einen Bot so programmieren, dass er Entities auflöst. Aber warum sollte man den Aufwand betreiben? In der Zeit, in der der ein Bot eintausend escapete E-Mail-Adressen findet, könnte er auch eine Million nicht-escapete im Web finden.

        Ressourcen sind, jedenfalls bzgl. des minimalen Extra-Aufwandes, den das Auflösen der Entities/NCRs angeht, kein Problem für mich – bedenke, ich will nachher Abermillionen von Emails versenden, also darfst du davon ausgehen, dass ich entsprechende Ressourcen bereits zur Genüge vorhalte. Früher waren das hauptsächlich meine Bot-Netze, heutzutage kommen vermutlich auch noch die Clouds hinzu.

        Ich *vermute*, dass der Großteil der Bots tatsächlich dumm gehalten ist und Entities nicht auflöst. Ich setzte für E-Mail-Adressen tatsächlich Escapes ein, mit dem Wissen, dass das nur gegen die dümmsten Bots hilft.

        Und eben deshalb hilft es letztendlich effektiv gar nicht.

        Wenn meinem dummen Bot der Saft ausgeht, und er mit nicht mehr genug frische Mailadressen liefert – dann kaufe ich gleich Listen von extern ein, brauche mich mit der Bot-Programmierung nicht mehr herumschlagen, und konzentriere mich auf mein v1agr4-ca$in0-enlaaargement-…-Kerngeschäft.

        Aus Nutzer-Sicht:

        Heutzutage noch einen Furz darum zu geben, ob ich vielleicht einen von hundert oder auch nur zehn Bots davon abhalten kann, meine Mailadresse aufzufinden, halte ich für vollkommen vergebliche Liebesmüh’.

        Spam ist ein existentes Phänomen, dass ich nicht mehr durch „Geheimhalten“ meiner Mailadresse bekämpfen kann.
        Da investiere ich lieber meine Ressourcen in vernünftige Bekämpfung des Spams selber auf Empfänger-Seite – Spam-Filter, Blacklists, etc.

        MfG ChrisB

        --
        Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/
        1. Hallo,

          Spam ist ein existentes Phänomen, dass ich nicht mehr durch „Geheimhalten“ meiner Mailadresse bekämpfen kann.

          so ist es. Das zeigt sich auch schon dadurch, dass oft auch Adressen bespammt werden, die man nie nach außen kommuniziert oder preisgegeben hat, weil die Bots entweder per Brute-Force oder durch halbwegs sinnvolles Kombinieren von Namensfragmenten aus Listen viele Mailadressen einfach "zufällig" erraten.

          Ciao,
           Martin

          --
          "Hier steht, deutsche Wissenschaftler hätten es im Experiment geschafft, die Lichtgeschwindigkeit auf wenige Zentimeter pro Sekunde zu verringern." - "Toll. Steht da auch, wie sie es gemacht haben?" - "Sie haben den Lichtstrahl durch eine Behörde geleitet."
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  2. Ich mache das einigermaßen erfolgreich so:

    <?php  
    function replace_at($str) {  
        $rep='<script type="text/javascript">document.write("&#64;")</script><noscript style="display:inline">&#64;</noscript>';  
        return str_replace('@', $rep, $str);  
    }  
    ?>
    

    Das macht aus jedem @ etwas wie:

    <script type="text/javascript">document.write("&#64;")</script><noscript style="display:inline">&#64;</noscript>

    Wie gunnar schon andeutete lohnt es sich für die Grabber nicht die Texte intensiv oder irgendwie zu parsen oder gar die Skripte auszuführen, weil der primitive Weg des Wegwerfens (von allem was nicht auf den allerersten Blick wie eine Mailadresse aussieht) einfach wirtschaftlicher ist.

    Jörg Reinholz