| TTlong |
Geschrieben am: Mi 30.01.2008, 17:01
|
|
AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 274 Mitglied seit: 8.02.2007 |
Hallo,
ich will mir einen Badword-Filter basteln, weiss aber net, wie ich prüfen soll, ob ein "Badword" in der übergebenen Variable (Zeichenkette) vorhanden ist. $badword = // Werte aus DB $text = // per POST übergebener Wert Kann jemand weiter helfen? Danke und Gruß TTlong -------------------- |
![]() |
| Jörg Kruse |
#2 Geschrieben am: Mi 30.01.2008, 17:10 (+00:09)
|
|
AyomRank 5 Gruppe: Experten Entwicklung Beiträge: 394 Mitglied seit: 19.12.2004 |
In PHP kannst du mithilfe der Funktion preg_replace() Muster (in diesem Fall die Bad Words) innerhalb von Strings ersetzen.
Edit: str_replace() wäre noch einfacher und würde für diesen Zweck wohl auch ausreichen -------------------- |
![]() |
| connectR |
#3 Geschrieben am: Mi 30.01.2008, 17:51 (+00:40)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 54 Mitglied seit: 29.01.2008 |
Ich würde statt str_replace eher auf str_ireplace setzen, weil case-insensitive
-------------------- wir-sammeln.com - ...weil Menschen sammeln
BodyVoten.de - Bilder voten CashPeople.de - Geld verdienen im Internet |
![]() |
| DZVO |
#4 Geschrieben am: Mi 30.01.2008, 18:06 (+00:15)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 116 Mitglied seit: 19.03.2007 |
naja ganz so einfach könnt ihr euch das auch nicht machen.
denn oft werden ja bad-words mit sonderzeichen kodiert also statt viagra schreibt man via*gra daher würde ich erstmal ein preg_replace über den string jagen wo sämtliche sonderzeichen entfernt werden. danach dann str_word_count um die dortanzahl zu zählen str_word_count kann dir dann den string als wortarray zurückgeben dann ein in_array() wo treffer mitzählen dann nen kleinen 3satz um den prozentsatz der badwords rauszubekommen dann ne kleine switchanweisung 0% allet paleti 1-3% spam verdacht >3% spam string in db sperren bis zur manuellen prüfung so ungefähr könnte es aussehen -------------------- |
![]() |
| TTlong |
#5 Geschrieben am: Mi 30.01.2008, 18:57 (+00:51)
|
|
AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 274 Mitglied seit: 8.02.2007 |
Danke für eure Antworten.
Das ganze ist für mein SMS Script. Mit str_word_count hab ich bereits eine seperate Sperre, die verhindert, dass zu wenig Wörter verschickt werden. Nun soll das alles auch noch nach nicht erlaubten Wörter durchforstet werden. Sollte ein derartiges Wort im Text gefunden werden, wird die entsprechende IP in die Tabelle mit den geblockten IP's geschoben und hat dann keinen Zugriff mehr auf das Script. Brauche im Prinzip nicht schauen, ob dort noch Sonderzeichen drin sind, die kann ich ja dann entsprechend in die Blacklist eintragen. Schau mir jetzt mal preg_* und str_ireplace an. -------------------- |
![]() |
| TTlong |
#6 Geschrieben am: Do 31.01.2008, 19:24 (+24:27)
|
||
|
AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 274 Mitglied seit: 8.02.2007 |
So, hab jetzt was zusammengebastelt was funktioniert (wenns noch jemand gebrauchen kann):
Falls noch wer nen Verbesserungsvorschlag hat, immer her damit. Gruß TTlong -------------------- |
||
![]() |
| jAuer Jürgen Auer - freiberufl. Programmierer |
#7 Geschrieben am: Do 31.01.2008, 19:51 (+00:26)
|
||
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 2080 Mitglied seit: 4.02.2006 |
Ich habe zwar noch fast keine Erfahrung mit solchen Badword-Filtern. Allerdings macht dein Code das, was man normalerweise nicht machen soll: Du holst pro Fall die Daten (hier: Badwords) und gehst sie in einer Schleife durch. Damit stehen typische Datenbank-Techniken nicht zur Verfügung - normalerweise sollten diese (1) grundsätzlich performanter sein, (2) das 'Herausholen' der Daten (jedesmal) ließe sich vermeiden. Beispiel (wird bei server-daten in ähnlicher Form eingesetzt: Dort sind in benutzerdefinierten Abfragen bestimmte MS-SqlServer-Schlüsselwörter verboten):
@inputstring wird mit der zu prüfenden Zeichenfolge belegt. Auf diesem Level stimmt das nicht ganz, da auch ein Badword als Teil eines größeren Wortes erkannt wird (was u.U. falsch sein könnte). Bei server-daten ist eine Wortzerlegung vorgeschaltet, so daß jedes Wort in einer eigenen Zeile drinsteht. Dann stimmt das exakt, dann läßt sich das sogar direkt über einen Join machen. Allerdings reicht die obige Methode bei Badwords aus - da will man ja auch Wortbestandteile killen. Vorteil 1: Die Wortliste muß nicht erst rausgeholt werden. Vorteil 2: Normalerweise sind Sql-Anweisungen, die auf Mengen operieren, effizienter als ein zeilenweises Abarbeiten. Im Prinzip mußt Du bloß gucken, ob diese Abfrage eine Zeile zurückgeliefert hat. PS: Nachträglich muß ich natürlich feststellen: Ich habe doch schon Erfahrung damit -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
server-daten: Web-Datenbanken als Online - CRM - Lösung. Konzentrieren Sie sich auf Ihr Kerngeschäft - nutzen Sie eine schlanke, schnelle Online-Datenbank von verschiedenen Standorten. |
||
![]() |
| Sven K |
#8 Geschrieben am: Fr 1.02.2008, 07:52 (+12:00)
|
||
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 130 Mitglied seit: 27.10.2006 |
eregi ist total veraltet! ausderdem benutzt ereg genauso regular expressions. -------------------- |
||
![]() |
| Claus Lehmann Partnerprogramme.com |
#9 Geschrieben am: Do 14.02.2008, 23:01 (+13d 15:08)
|
![]() AyomRank 5 Gruppe: Experten Marketing Beiträge: 279 Mitglied seit: 29.04.2005 |
@TTLong
hast Du eine Quelle für eine deutsche Badwords-Liste. Gibt es das als Download (GPL)? -------------------- Geld verdienen mit kostenlosen Partnerprogrammen
http://www.partnerprogramme.com Informationen zu Krediten von Privat an Privat http://www.p2p-kredite.com |
![]() |
| Claus Lehmann Partnerprogramme.com |
#10 Geschrieben am: Do 14.02.2008, 23:07 (+00:06)
|
||||
![]() AyomRank 5 Gruppe: Experten Marketing Beiträge: 279 Mitglied seit: 29.04.2005 |
jAuer, man könnte erst Deinen Code anwenden, dann mit explode den InputString in ein Array der einzelnen Worte zerlegen und dann prüfen ob das Trefferwort in dem Array ist. Dann wäre es immer noch performant aber es würden keine Wortbestandteile erkannt sondern nur volle Wörter Anderer Punkt. Ist es wirklich sinnvoll die Badwords als einzelne Zeilen in der Tabelle zu halten? Einen String der sie alle enthät könnte ich schnell aus der Datenbank einlesen (dann in Array zerlegen), alle weiteren Operationen dann im Speicher. Oder nicht? -------------------- Geld verdienen mit kostenlosen Partnerprogrammen
http://www.partnerprogramme.com Informationen zu Krediten von Privat an Privat http://www.p2p-kredite.com |
||||
![]() |
| Björn Kaiser Xewo Marketing Manufaktur |
#11 Geschrieben am: Do 14.02.2008, 23:34 (+00:26)
|
||||||||||
|
AyomRank 6 Gruppe: Moderatoren Beiträge: 601 Mitglied seit: 20.09.2006 |
Hallo an alle, ich bin kein Progger, darum weiss ich auch nicht, ob der Quelltext stimmt oder das, was er angeblich tun soll, auch macht!!! Ich habe das hier auf Homepage-Forum.de gesehen:
Quelle: [Tutorial | PHP] Badword Liste für Gästebuch - Homepage-Forum.de geschrieben von Marco >> User auf Homepage-Forum.de Meine Frage: kann man das auch Umschreiben für ein Forum? Oder kann man das hier 1:1 übernehmen? Vielleicht ist es ja auch ein Denkanstoss für andere. besten Gruss Björn PS: als Anregung für Bad-Words: Schimpfwoerter.de Nachtrag: hier sind mal 2 Listen. Nur Überflogen, keine Ahnung, ob sie was wert sind: http://www.analytictech.com/mb870/bwfldata.htm http://www.delphipraxis.net/topic37248.html -------------------- hier erfährt man die Wahrheit über "die Bild" >> Bildblog.de
<< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> Xewo Blog Beitrag >> Adult Anbieter für Webmaster und Affiliates Xewo Blog Beitrag >> 1. mobiles Adult Partnerprogramm für Webmaster |
||||||||||
![]() |
| Claus Lehmann Partnerprogramme.com |
#12 Geschrieben am: Fr 15.02.2008, 01:00 (+01:25)
|
||||
![]() AyomRank 5 Gruppe: Experten Marketing Beiträge: 279 Mitglied seit: 29.04.2005 |
Björn, dazu aus dem Impressum der Seite: alle darauf enthaltenen Informationen, Texte, Bilder, Videos, etc. sind urheberrechtlich geschützt!
Das sind leider englische Wortlisten. Bräuchte eine deutsche. Kennt vielleicht einer eine kostenlose Forensoftware in der bereits eine deutsche Wortliste badwords enthalten ist (die Forensoftware brauche ich nicht, wäre für mich nur wegen der Wortlist interessant). -------------------- Geld verdienen mit kostenlosen Partnerprogrammen
http://www.partnerprogramme.com Informationen zu Krediten von Privat an Privat http://www.p2p-kredite.com |
||||
![]() |
| Björn Kaiser Xewo Marketing Manufaktur |
#13 Geschrieben am: Fr 15.02.2008, 01:07 (+00:07)
|
||
|
AyomRank 6 Gruppe: Moderatoren Beiträge: 601 Mitglied seit: 20.09.2006 |
das soll also heissen, wenn ich hier jetzt "Steckdosenbefruchter" schreibe, verstosse ich gegen ein Urhebergesetz? das kann ich mir dann doch nicht vorstellen. Ausserdem soll es ja nur eine Anregung sein, auf welche Bad-Words manche kommen mit ihrer Fantasie. Zu deiner Suche: ich glaube kaum, das man eine deutsche Liste findet, die würde wahrscheinlich nicht mal Alain rausrücken Gruss Björn -------------------- hier erfährt man die Wahrheit über "die Bild" >> Bildblog.de
<< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> Xewo Blog Beitrag >> Adult Anbieter für Webmaster und Affiliates Xewo Blog Beitrag >> 1. mobiles Adult Partnerprogramm für Webmaster |
||
![]() |
| Claus Lehmann Partnerprogramme.com |
#14 Geschrieben am: Fr 15.02.2008, 01:12 (+00:04)
|
||
![]() AyomRank 5 Gruppe: Experten Marketing Beiträge: 279 Mitglied seit: 29.04.2005 |
Du schätzt Alain völlig falsch ein. Ich kann aus eigener Erfahrung sagen, dass er seeeeehr hilfsbereit ist. -------------------- Geld verdienen mit kostenlosen Partnerprogrammen
http://www.partnerprogramme.com Informationen zu Krediten von Privat an Privat http://www.p2p-kredite.com |
||
![]() |
| Björn Kaiser Xewo Marketing Manufaktur |
#15 Geschrieben am: Fr 15.02.2008, 01:17 (+00:04)
|
|
AyomRank 6 Gruppe: Moderatoren Beiträge: 601 Mitglied seit: 20.09.2006 |
Dann frag ihn doch. Seine Liste dürfte bestimmt auch schon 300-400-500 Worte enthalten.
Das Alain hilfsbereit ist, weiss ich selbst. Nur wenn so eine Liste mal im Umlauf ist und man weiss, wo sie eingesetzt wird, dann kann man sehr schnell Mist damit bauen. Das meinte ich damit: solche Listen sind ja schon fast wie der "Heilige Gral" und somit Top Secret. Und wenn sie so einfach zu haben wären, dann müsste man sie ja bei der dicken Tante recht einfach finden. -------------------- hier erfährt man die Wahrheit über "die Bild" >> Bildblog.de
<< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> Xewo Blog Beitrag >> Adult Anbieter für Webmaster und Affiliates Xewo Blog Beitrag >> 1. mobiles Adult Partnerprogramm für Webmaster |
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/22753
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| Hilfe für eine Freundin | finanzcheck | 151 | 4 | Mi 2.07.2008, 19:26 |
| hilfe... | anysom | 174 | 3 | Sa 7.06.2008, 17:31 |
| Bitte um ganz kurze Hilfe | Schwede | 214 | 7 | Mi 7.05.2008, 18:05 |
| Aministrations Hilfe | pillee | 141 | 1 | Mi 30.04.2008, 19:02 |
| Hilfe bei Vertragsangelegenheit | Tifflor | 109 | 5 | Do 24.04.2008, 09:51 |
| Hilfe | chrisy34 | 197 | 4 | Do 17.04.2008, 14:24 |
| Suche sehr sicheres CMS bis € 200 ! Hílfe | Riddler | 240 | 3 | Fr 22.02.2008, 04:38 |
| Hilfe für meinen Weblog - Euer Urteil | Christian | 409 | 8 | Mi 20.02.2008, 21:32 |
| Hilfe zu objektorientiertem PHP Script | sd12 | 584 | 10 | So 10.02.2008, 20:49 |
Anzeige - [Interessiert an einer Anzeige?]



















