z.Z. ist wieder sehr schlimm mit den Kommentar Spambots auf meinen Blog, diese tragen ständig Viagra Werbung hier ein!
daher habe ich heute früh mal einen kleinen Filter gebaut:
$spamwortliste = array("viagra", "cialis", "sex", "penis");
for ($i = 0; $i <= count($spamwortliste); $i++) {
if(strpos($betreff, $spamwortliste[$i]))
{
$spam = "Fehlertext";
}
}
Leider liefert mir die PHP-Funktion "strpos" beim Vorkommen eines meiner Wörter an der Stelle 1 den Wert 0 zurück, und die if-Abfrage springt somit nicht in das füllen meiner Spamvariable, hat jemand dafür eine Lösung?
gruß stony
alex schrieb:
vorschlag:
if(strpos($betreff, $spamwortliste[$i])!=FALSE)
alex schrieb:
nene,
strpos sucht ja das erste Vorkommen des suchstrings im gesamtenstring, gibt also im normalfall einen Zahl aus und die ist die positiondes ersten vorkommens.
Wenn $betreff mit nem Wort aus der liste beginnt, dann ist das die position 0, also das erste Zeichen.
alex schrieb:
Sonst machst Du es einfach so, Du brauchst die Position ja eigentlich nicht:
strstr
(PHP 4, PHP 5)
strstr ? Findet das erste Vorkommen eines Strings
Beschreibung
string strstr ( string $haystack, string $needle )
Gibt den Teil von haystack ab dem ersten Vorkommen von needle bis zum Ende von haystack zur?ck.
Falls needle nicht gefunden wird, wird FALSE zur?ckgegeben.
Ist needle kein String, wird der Parameter in einen Integerwert konvertiert, der dem Ordinalwert des Zeichens entspricht.
if(strstr($betreff, $spamwortliste[$i])!=FALSE)
{
$spam = "Fehlertext";
}
stony schrieb:
wie du siehst funktioniert das mit dem !=NULL nicht!
stony schrieb:
mit "if(strstr($betreff, $spamwortliste[$i]))" funktioniert es wirklich gut!
DANKE @ ALEX!
Was treibst du eigentlich gerade? Noch Lust was zu machen?
nion schrieb:
du erinnerst dich noch, was ich zu programmierern vs webdevelopern gesagt hab? ;-P
stony schrieb:
ich wei? auch leider gerade nicht einmal wer du bist ;)
burntime schrieb:
du hast vergessen das das ganze auch in form von Vi4gra geschrieben werden kan oder \/vi4gra... so kommen die schei? mails immer duch mein E-Mail Spam filter.
BTW, w?rdest du wordpress nehmen h?ttest du ein richtig schicken spam filter ;)
stony schrieb:
bis lang sind die erw?hnten w?rter die h?ufigsten!
Bei Wordpress kannst du doch auch nur W?rter eingeben?!?