php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.11.2008, 18:05  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard String nach genauigkeit untersuchen?

Guten Abend all!

Ich wusste keinen besseren Threadtitel für meine Frage.

Da ich nun auch von Captchas abgesprungen bin habe ich ein E-Mail Formular geschrieben und dazu ein Blacklistarray angelegt mit einigen Spamverdächtigen Worten.

Soweit so gut alles kein Problem das funktioniert auch beim Vergleich alles sehr gut.

Mein Problem ist nun z.B. das Wort porn,da Reagiert das Script nun auch wenn jemand Ansporn schreibt und das soll nicht sein.

Gibt es eine Funktion wo ich testen kann bzw. prüfen kann das es sich wirklich nur um das Wort porn handelt und nicht um ein anderes Wort wie eben Ansporn?

Ich hoffe mich verständlich ausgedrückt zu haben und danke für eure Antworten mfg der litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.11.2008, 18:09  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Zu deiner Frage jetzt nicht, aber wenn du mathematisch versierter bist könntest du ein Spamfilter auf der Basis von Bayes-Theorem programmieren.
Ist definitiv eine bessere Lösung, aber leider nur was für Leute die sowas verstehen.

Geändert von PTC (19.11.2008 um 19:14 Uhr). Grund: Ortographie
PTC ist offline  
Alt 19.11.2008, 18:13  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Also soweit bin ich mathematisch nicht ausgestattet,leider.

Eine normale Rechenaufgabe als zusätzlichen Schutz habe ich mir selber geschrieben.

Mich würde es eben Interessieren ob es überhaupt ne Möglichkeit gibt.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 19.11.2008, 18:21  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Eine Möglichkeit wären reguläre Ausdrücke, die auf Wortanfang und -ende testen. Ebenso könnten die Buchstaben>Ziffern-Ersetzungen wie o > 0 tw. abfangen. Nachteilig ist die Performance für lange Blacklists.

Bsp.
Code:
#\bp[o0]rn[o0]?\b#i
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 19.11.2008, 18:25  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Für welchen Zweck benutzt Du Deine blacklist?
HPR1974 ist offline  
Alt 19.11.2008, 18:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Natürlich solltest Du mehrere Prüfkriterien verwenden, es ist ja durchaus legitim, mal "Pornofilm" in nem Beitrag zu schreiben, oder?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 19.11.2008, 18:36  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Wenn du eine sehr umfassende Liste haben willst, schau dir mal die Standardliste von Spamihilator an. Aber Achtung! Die ist wirklich lang!
Auf eine Blackwordlist allein würde ich aber nicht setzen. Was ich noch mache, ist eine Prüfung des URL-/Wortanzahl-Verhältnisses. Ein gesundes Verhältnis, mit dem ich ganz gut gefahren bin, ist 0.03 (Spam = URLs/Wörter <= 0.03). Dies geht aber natürlich nur bei Kommentar- oder Kontaktformularen. Bei Foren etc. würde das natürlich nicht gehen (ich poste z.B. auch manchmal nur einen Link + 1, 2 Wörter).
Weiteres siehe auch hier: OpenWebBoard / Tutorials / HTML & CSS / Barrierefreie CAPTCHAs (2/2)
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 19.11.2008, 18:54  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Manko dein Tut habe ich mir durchgelesen,allein auf die Blacklist will ich mich auch nicht verlassen,das mit den URLs will ich noch einbauen,nur weis ich da noch nicht ganz wie ich das anstellen soll. Denn ich muss prüfen das z.B. maximal 3 URLs vorkommen dürfen und dann muss man ja noch beachten,das sie verschiedene Schreibweisen aufweisen können. Da weis ich noch nicht richtig wie ich da ran gehe.

Mir ging es eigentlich nur darum die genauigkeit eines Strings zu prüfen.

Die Idee mit dem Regex ist gut,aber so fit binsch da noch nicht.

Nikosch ja das ist sicher mal üblich aber ich glaube nicht wenn es um eine Stahlhandelsfirma geht. Also kommt es immer auf den Anwenderzweck drauf an würde ich sagen.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 19.11.2008, 18:56  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ich habe das so gelöst:
PHP-Code:
if ((substr_count($comment'http://') + substr_count($comment'http://')) /
    (
str_word_count($comment) > str_word_count($comment) : 1) > 0.03) {
    
$spam true;

Das zweite http:// ist eigentlich ein hexadezimal-kodiertes, aber das blöde Forum wandelt das immer um. Hier mal mit Leerzeichen:
Code:
& #104;& #116;& #116;& #112;& #58;& #47;& #47;
Beitrag editiert:
[…] Ich glaube, ich kenne mein nächstes kleineres Projekt schon: einen konfigurierbaren Filter für Gästebuchspam.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems

Geändert von Manko10 (19.11.2008 um 19:09 Uhr).
Manko10 ist offline  
Alt 19.11.2008, 19:23  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Was machst du dir soviel Arbeit? Wenn ne mail mit Unsinn reinkommt, dann lösch sie weg. Das ist besser als eine wichtige Meldung zu verlieren, nur weil dein Spamfilter nicht ausgereift ist. Vielleicht will dir mal ein Herr Porn oder eine Firma Bumsen GmbH einen Auftrag erteilen.

Robots kannst du aussperren, wenn du die Zeit zwischen Aufruf und Absenden des Formulars misst.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP5 SOAP - Problem mit Arrays Calexico PHP-Fortgeschrittene 0 11.09.2008 12:06
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
String auslesen Shaira PHP Tipps 2006 11 01.12.2006 17:52
Alle Felder nach String durchsuchen Jacks Rache Datenbanken 6 08.08.2005 09:46
In allen Spalten nach String suchen Jacks Rache Datenbanken 0 05.08.2005 20:15
In allen Tabellen nach String suchen Jacks Rache Datenbanken 0 05.08.2005 11:18
String in allen Spalten suchen Jacks Rache Datenbanken 0 05.08.2005 09:43
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
string -> int, nur wenn string zahl ist PHP Tipps 2005-2 3 06.06.2005 12:33
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
php code als string umwandeln PHP Tipps 2005 8 23.02.2005 18:03
String auf bestimmte Breite (Pixel) kuerzen... mudo PHP-Fortgeschrittene 25 28.01.2005 19:07
String suchen und tauschen PHP Tipps 2005 13 08.01.2005 22:00
[Erledigt] String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
bekomme string nicht in mysql-tabelle PHP Tipps 2004 6 26.07.2004 11:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
nackt untersuchen, php string vergleich genauigkeit, php zeichenketten genauigkeit, php array durchsuchen, php string untersuchen, php str_word_count, php string spam, genauigkeit von string, php str_word_count performance, php string auf spam untersuchen, nackt untersuchen spalte, php strings untersuchen, php string http untersuchen, genauigkeit strings, php rechenaufgabe als string, php genauigkeit string

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:21 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum