E-Mail Adresse in einem Text suchen und Spam sicher machen
am 29.10.2006 10:47:07 von matthias-reichert
Hallo,
Ich habe einen Text, der aus einer Datenbank geladen wird.
Jetzt möchte ich gerne Email adressen die im Text so Notiert sind:
[email@irgendwas.de]
herraussuchen und Spam sicher machen.
Wie muss das Suchmuster aussehen, damit ich solche Emails in einem Text
finde und dann mit unten stehender Funktion Spam sicher mache.
Ich habe da folgende Funktion gefunden. Beim darüberfahren werden nur
Zeichen gezeigt antstatt der Email, aber beim klick wird wieder die
richtige Adresse im Mail Programm angezeigt.
// Funktion gegen Spams
function no_spam($mail) {
$str =3D "";
$a =3D unpack("C*", $mail);
foreach ($a as $b)
$str .=3D sprintf("%%%X", $b);
return $str;
}
$mail =3D no_spam("email@irgendwas.de");
$link =3D "";
Re: E-Mail Adresse in einem Text suchen und Spam sicher machen
am 29.10.2006 11:09:38 von Ulf Kadner
matthias-reichert@mr-73.de schrieb:
> Ich habe einen Text, der aus einer Datenbank geladen wird.
> Jetzt möchte ich gerne Email adressen die im Text so Notiert sind:
>
> [email@irgendwas.de]
>
> herraussuchen und Spam sicher machen.
Sicherer Spam? Wie meinst Du das?
> Wie muss das Suchmuster aussehen, damit ich solche Emails in einem Text
> finde und dann mit unten stehender Funktion Spam sicher mache.
Das ist seeeehr kompliziert, da der Regex dafür ellenlang ist. Jeder
andere Versuch wäre nur halbherzig und würde nicht zum gewünschten
Erfolg führen.
http://ex-parrot.com/~pdw/Mail-RFC822-Address.html
MfG, Ulf
Re: E-Mail Adresse in einem Text suchen und Spam sicher machen
am 29.10.2006 11:12:11 von Michael Fesser
..oO(matthias-reichert@mr-73.de)
>Ich habe einen Text, der aus einer Datenbank geladen wird.
>Jetzt möchte ich gerne Email adressen die im Text so Notiert sind:
>
>[email@irgendwas.de]
>
>herraussuchen und Spam sicher machen.
Eine Mailadresse auf einer Website, die auch benutzbar sein soll, kann
nicht spamsicher sein. Dafür braucht's dann schon ein Kontaktformular.
>Ich habe da folgende Funktion gefunden. Beim darüberfahren werden nur
>Zeichen gezeigt antstatt der Email, aber beim klick wird wieder die
>richtige Adresse im Mail Programm angezeigt.
>
>// Funktion gegen Spams
>function no_spam($mail) {
> $str = "";
> $a = unpack("C*", $mail);
> foreach ($a as $b)
> $str .= sprintf("%%%X", $b);
> return $str;
>}
Und Du meinst, das funktioniert? Deine Funktion zum "Verschlüsseln" ist
länger als meine zum "Entschlüsseln", die obendrein noch verschiedene
Formate erkennt:
function decode($str) {
$pattern = array('/%[\da-f]{2}/ei', '/(\d+);/e', '/([\da-f]+);/ei');
$replace = array('urldecode("$0")', 'chr($1)', 'chr(0x$1)');
return preg_replace($pattern, $replace, $str);
}
Spammer sind nicht blöde. URL-Kodierung (nichts anderes macht Deine
Funktion) und Zeichenreferenzen aufzulösen ist praktisch trivial.
Micha
Re: E-Mail Adresse in einem Text suchen und Spam sicher machen
am 29.10.2006 11:22:55 von Martin Lemke
Michael Fesser schrieb:
> Spammer sind nicht blöde. URL-Kodierung (nichts anderes macht Deine
> Funktion) und Zeichenreferenzen aufzulösen ist praktisch trivial.
Zumal der "Trick" uralt ist. Diese Mühe würde ich mir sparen, weil sie
vermutlich nicht lohnt.
Martin