|
 |
Spamschutz für Emailadresse
|
 |
|
| Maffy |
|
 |
Beiträge: 138
|
 |
|
 |
Anmeldungsdatum: 15.02.2006
|
 |
|
 |
Wohnort: Bad Bocklet
|
 |
|
|
 |
|
Verfasst am: 26.09.2006, 16:42
Titel: Spamschutz für Emailadresse
|
 |
Ich möchte gerne email adressen die im Content stehen per Spamschutz schützen.
| Code: |
// Funktion gegen Spams
function no_spam($mail) {
$str = "";
$a = unpack("C*", $mail);
foreach ($a as $b)
$str .= sprintf("%%%X", $b);
return $str;
}
|
| Code: |
// Email senden
$mail = no_spam("meine@email.de");
$link = "<a href=\"mailto:".$mail."\"> Daten melden! </a>";
|
Wie durchsuche ich den Content nach Emailadressen und wie kann ich die Adressen mit obiger Funktion schützen?
Mfg Maffy
_________________ leben und leben lassen
|
|
|
|
| Faba |
|
 |
Beiträge: 401
|
 |
|
 |
Anmeldungsdatum: 12.08.2006
|
 |
|
 |
|
 |
|
|
 |
|
Verfasst am: 16.11.2006, 15:34
Titel:
|
 |
Benutze mal die Funktion preg_replace().
Die Syntax sieht so aus:
mixed preg_replace ( mixed Suchmuster, mixed Ersatz, mixed Zeichenkette [, int Limit [, int &Anzahl]] )
Damit kannst du ganze Zeichenketten durchsuchen. Als Suchmuster kann auch ein regulärer Ausdruck dienen.
_________________ Was ist der Unterschied zwischen einem Physiker und einem Programmierer?
Der Physiker glaubt, 1KByte wären 1000 Bytes.
Ein Programmierer glaubt, 1km wären 1024m...
|
|
|
|
| Maffy |
|
 |
Beiträge: 138
|
 |
|
 |
Anmeldungsdatum: 15.02.2006
|
 |
|
 |
Wohnort: Bad Bocklet
|
 |
|
|
 |
|
Verfasst am: 26.11.2006, 18:38
Titel:
|
 |
Habe das jetzt so gelöst:
Dort wo der Link im Content erscheinen soll
eingeben.
Im contentmaker.php einfügen:
| Code: |
// Email senden
$mail = no_spam("deine@email.de");
// Adminemail
$adminmail = "<a href="mailto:" title="E-Mail senden\">E-Mail senden</a>";
$content .= eregi_replace("\[adminmail\]", $adminmail, $acticon);
return $content;
|
Diese Funktion einbinden.
| Code: |
// Funktion gegen Spams
function no_spam($mail) {
$str = "";
$a = unpack("C*", $mail);
foreach ($a as $b)
$str .= sprintf("%%%X", $b);
return $str;
}
|
Test
Mfg Maffy
_________________ leben und leben lassen
|
|
|
|
| pascal |
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldungsdatum: 14.03.2008
|
 |
|
 |
|
 |
|
|
 |
|
Verfasst am: 09.04.2008, 13:46
Titel:
|
 |
Hallo Maffy
Ist es eigentlich auch möglich, mit dem Anti-Spam Script mehrere verschiedene Adressen zu verschleiern? Denn der automatische E-Mail-Verschleierer vom CMB 1.5 ist nicht wirklich brauchbar. Denn wenn ich einen mailto-Link setze, kann man den Link zwar anklicken, aber nicht mit einem Mail-Client versenden.
Vielen Dank im Voraus für deine Antwort.
Beste Grüsse aus der Schweiz
Pascal
|
|
|
|
| Maffy |
|
 |
Beiträge: 138
|
 |
|
 |
Anmeldungsdatum: 15.02.2006
|
 |
|
 |
Wohnort: Bad Bocklet
|
 |
|
|
 |
|
Verfasst am: 28.07.2008, 07:23
Titel:
|
 |
Evtl. könnte mann für die mails ein array erstellen das dann entsprechend durchsucht wird.
MFG Maffy
_________________ leben und leben lassen
|
|
|
|
| Faba |
|
 |
Beiträge: 401
|
 |
|
 |
Anmeldungsdatum: 12.08.2006
|
 |
|
 |
|
 |
|
|
 |
|
Verfasst am: 29.07.2008, 19:30
Titel:
|
 |
| |
 |
|
man könnte das auch in etwa so machen, wie beim Link-Tag des Mini-Forum von JCH.
Die Syntax wäre dann: [mailto=mail@example.com]
In der contentshow.inc.php anstatt
| Code: | | $acticon = preg_replace('|\@|', "<script language='JavaScript' type='text/javascript'>document.write('@')</script><noscript>(at-Zeichen)</noscript>", $acticon); |
folgendes eintragen:
| Code: |
function no_spam($mail) {
$str = "";
$a = unpack("C*", $mail);
foreach ($a as $b)
$str .= sprintf("%%%X", $b);
return $str;
}
preg_match_all("|\[mailto=([-_./a-zA-Z0-9!&%#?,'=:~]+)\]|", $acticon, $treffer);
foreach($treffer[1] as $treff)
{
$mail = "<a href='mailto:" . no_spam($treff) . "'>E-Mail senden</a>";
$muster = "|\[mailto=$treff\]|";
$acticon = @preg_replace($muster, $mail, $acticon);
}
|
So. ich hoffe das funktioniert. ist nämlich so gut wie ungetestet. habe das alles aus Code-Schnipseln zusammengeschustert
Ich hoffe es hilft
// edit: nochwas. es wird dringend empfohlen die ereg-Funktionen nicht mehr zu benutzen. sie sind nicht so leistungsstark wie die preg-Funktionen und leider auch sehr anfällig auf Angriffe etc.
_________________ Was ist der Unterschied zwischen einem Physiker und einem Programmierer?
Der Physiker glaubt, 1KByte wären 1000 Bytes.
Ein Programmierer glaubt, 1km wären 1024m...
|
|
|
|
|
Options and Permissions
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
| Seite 1 von 1 .:. |
|
|
|