Spamer sind ein altes Übel

Schon 2007 zwangen mich die illegalen Adressensammler, ein paar Lösungsansätze zu finden um meine Kunden zu schützen. Kaum hatten die eine Webseite, wurden ihnen Offerten für Verlängerung von expliziten Körperteilen zugestellt die sie noch nicht mal hatten...

Damals habe ich vieles versucht um diese Plage einzudämmen.
Einer davon war das verschleiern von gewissen Zeichen für deren selbstgebaute Suchmaschinen.
Profis schreckt das inzwischen auch nicht mehr ab, aber die Script Kiddies, welche sich so lange um kein Gesetz scheren bis es an der Haustüre klopft... die kann man zu einem grossem Teil damit noch loswerden.
Sie haben also nicht kein Spam - nur weniger Spam!

Die neue Datenschutzverordnung welche nicht mal eine Mail als Bild erlaubt ist natürlich ein Geschenk an die, welche sich bestimmt nicht um die Gesetze kümmern. Das haben die Theoretiker welche das Gesetz entworfen haben offensichtlich übersehen. Ich unterstelle denen keine böse Absicht. Nur ein gewisses Mass an inkompetenz und Naivität.
 
Ich empfehle für Kontaktadressen beim Provider Wegwerf-Mails zu verlangen die man regelmässig ausser Betrieb nimmt und durch neue ersetzt.
Ausserdem sollte dringend man die User schulen! Wer auch nur aus Neugierde auf einen Link per Mail klickt oder verknüpfte Bilder herunterlädt ist sich oft gar nicht bewusst das er damit soeben seine Mail als gültig bestätigt hat und die nun erst recht weitergehandelt wird.

Nun aber zur Funktion

Damit kann man zum Beispiel Mails unleserlich machen (für Suchbots)
oder für Datenbanken gefährlichen Text entschärfen beispielsweise von regexp-Formeln.
Wandelt bestimmte Zeichen in Ascii-Zeichen um
 
Wenn Sie das folgende Script ausprobieren, wird es sich in einer eigenen Seite öffnen.

HTML-Text umwandeln

So kann beispielsweise eine Mailadresse wie
<a href="mailto:eine@mail.ch">eine@mail.ch</a> vor einigen Spambots versteckt werden


Umgewandelte Textausgabe

Ohne_Titel_1
<?php
function ASCIIwandler($ConvertMe, $N=TRUE) 
{
    $asciitext=FALSE;
    if($ConvertMe==&#039;&#039;) 
    {
        return FALSE;  
    }
    
        $length=strlen($ConvertMe);
        for($i=0;$i<$length;$i++) 
        {
        switch (ord($ConvertMe[$i]))
           { 
           // Bei Bedarf Zeichen wie sie in Namen und so vorkommen, in Ruhe lassen.
            case ($N == TRUE && ord($ConvertMe[$i])>=65 && ord($ConvertMe[$i]) <=122):     $asciitext .= $ConvertMe[$i]; break;
            case ($N == TRUE && ord($ConvertMe[$i])>=192 && ord($ConvertMe[$i]) <=255): $asciitext .= $ConvertMe[$i]; break;
            
            case 10:     $asciitext .= "<br>\n"; break;               // Zeilenvorschub
            case 32:    $asciitext .= &#039;&nbsp;&#039;;    break;               // Leerzeichen
            default:    $asciitext .= "&#".ord($ConvertMe[$i]).";";  // Alle anderen Zeichen
           }

        }
        return $asciitext;   
}
?>