intelligentere (content-)filter für formular eingaben in php
intelligentere (content-)filter für formular eingaben in php
also in regelmässigen abständen muss ich irgendwo die
eingaben von formularen auf ihren sinngehalt überprüfen.
bei email adresse, telefon und ähnlichem ist das nicht so schwer, da gibt
es schöne reguläre ausdrücke. schwieriger ist das z.b. schon bei namen.
okay, mindestlänge angaben, zahlen und sonderzeichen raus, das geht noch.
wonach ich aber suche ist ein etwas intelligenterer filter, der untersuct ob
blödsinn eingegeben wurde. z.b. wird es kaum namen geben mit doppel "ß" oder
mehr als 5 konsonanten hintereinander.
ich denke mir irgendjemand der mehr von sprachanalyse versteht als ich
wird sich mit sowas schonmal beschäftig haben, nurfinde ich leider nichts im netz.
ist jemandem hier sowas schon einmal begegnet?
eingaben von formularen auf ihren sinngehalt überprüfen.
bei email adresse, telefon und ähnlichem ist das nicht so schwer, da gibt
es schöne reguläre ausdrücke. schwieriger ist das z.b. schon bei namen.
okay, mindestlänge angaben, zahlen und sonderzeichen raus, das geht noch.
wonach ich aber suche ist ein etwas intelligenterer filter, der untersuct ob
blödsinn eingegeben wurde. z.b. wird es kaum namen geben mit doppel "ß" oder
mehr als 5 konsonanten hintereinander.
ich denke mir irgendjemand der mehr von sprachanalyse versteht als ich
wird sich mit sowas schonmal beschäftig haben, nurfinde ich leider nichts im netz.
ist jemandem hier sowas schon einmal begegnet?
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
hallo,
vor genau dieser frage stand ich auch vor kurzem und bin zu folgenden entschluss gekommen:
ich überprüfe lediglich auf sonderzeichen, nummern und länge ...
Du solltest bedenken das, je komplizierter ein prüf-mechanismus ist, desto höher die gefahr
das man den server durch DOS penetrieren kann. Du solltest, wenn du wirklich vorhast eine
intensive prüfung vorzunehmen, einige sicherheitsvorkehrungen einbauen(z.b. mod evasive).
Dazu kommt auch noch die tatsache, das es indianische völker auf diesem planeten gibt,
dessen namen mehr als 3 aufeinanderfolgende konsonanten besitzt ... daher viel spass beim reg-exen
vor genau dieser frage stand ich auch vor kurzem und bin zu folgenden entschluss gekommen:
ich überprüfe lediglich auf sonderzeichen, nummern und länge ...
Du solltest bedenken das, je komplizierter ein prüf-mechanismus ist, desto höher die gefahr
das man den server durch DOS penetrieren kann. Du solltest, wenn du wirklich vorhast eine
intensive prüfung vorzunehmen, einige sicherheitsvorkehrungen einbauen(z.b. mod evasive).
Dazu kommt auch noch die tatsache, das es indianische völker auf diesem planeten gibt,
dessen namen mehr als 3 aufeinanderfolgende konsonanten besitzt ... daher viel spass beim reg-exen
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
Bedenke, dass foo_bar+wurz@bla.com auch eine gültige eMail-Adresse sein kann.
schon richtig, aber beid en meisten projekten ist der einzugsbereich ziemlich klar, unddas es indianische völker auf diesem planeten gibt,
dessen namen mehr als 3 aufeinanderfolgende konsonanten besitzt
ein ortsname in dland der mit dreifach konsonant anfängt ist eher ungewöhnlich.
gleich gilt für namen mit mehr als vier vokalen hintereinander.
wenn jemand ein formular per dos angreift, hallte ich es für besser der server geht
leicht durch den filteraufwand in die knie als verschickt 20.000 mails mit unsinnigen inhalten oder spammt eine datenbank zu ...
Joghurt schrieb:
deshalb gibt es jadass foo_bar+wurz@bla.com auch eine gültige eMail-Adresse sein kann.
Code: Alles auswählen
ereg("^([a-zA-Z0-9\.\_\-]+)@([a-zA-Z0-9\.\-]+\.[A-Za-z][A-Za-z]+)
abgesehen davon gibt es aber z.b. auch anwendungen wie formulare
zur eingabe von daten in datenbanken, wo ein solcher filter die bearbeitenden
auch freundlich auf eventuelle fehler aufmerksam machem könnte.
ich weiss z.b. granicht wie ich "wenn irgendein buchstabe dreimal hintereinander vorkommt"
in reg ex ausdrücke.
zur eingabe von daten in datenbanken, wo ein solcher filter die bearbeitenden
auch freundlich auf eventuelle fehler aufmerksam machem könnte.
ich weiss z.b. granicht wie ich "wenn irgendein buchstabe dreimal hintereinander vorkommt"
in reg ex ausdrücke.
Mal überlegen.
Keine Sonderzeichen und Zahlen.
"ß" ist in Namen mehr als ungewönlich (ich kenne keinen) allso garnicht erlauben oder zumindest nicht am Anfang des Namens
Ein Name sollte am Anfang gross geschrieben sein und an sonsten klein (außer es ist ein Doppelname, dann soll nach einem Trennzeichen (\s oder -) auch wieder großgeschrieben werden.)
So Sachen wie "aaa" und "sssss" sollte es auch nicht geben maximal 2 gleiche Buchstaben.
Ich würde daraus sowas machen:
Das dürfte "wahr" zurückliefern wenn etwas an der Eingabe "falsch" ist. Aber ob das nicht etwas zu streng ist, weiß ich nicht.
Keine Sonderzeichen und Zahlen.
"ß" ist in Namen mehr als ungewönlich (ich kenne keinen) allso garnicht erlauben oder zumindest nicht am Anfang des Namens
Ein Name sollte am Anfang gross geschrieben sein und an sonsten klein (außer es ist ein Doppelname, dann soll nach einem Trennzeichen (\s oder -) auch wieder großgeschrieben werden.)
So Sachen wie "aaa" und "sssss" sollte es auch nicht geben maximal 2 gleiche Buchstaben.
Ich würde daraus sowas machen:
Code: Alles auswählen
/[^\w\s-ÖÄÜöäüß]|[A-ZÖÄÜ]{2,}|[a-zöäüß][A-ZÖÄÜß]|(:?^|\s|-)[a-züöäß-\s]|(.)\1{2,}/
Und was ist mit Namen wie "François"?ToPeG hat geschrieben:Ich würde daraus sowas machen:Das dürfte "wahr" zurückliefern wenn etwas an der Eingabe "falsch" ist. Aber ob das nicht etwas zu streng ist, weiß ich nicht.Code: Alles auswählen
/[^\w\s-ÖÄÜöäüß]|[A-ZÖÄÜ]{2,}|[a-zöäüß][A-ZÖÄÜß]|(:?^|\s|-)[a-züöäß-\s]|(.)\1{2,}/