badword list vergleichen php


  • Mod

    regexer schrieb:

    Shade Of Mine schrieb:

    Aber bitte: welchen direkten Vorteil siehst du hier von regex?

    das ist als würdest du fragen wofür soundex o.ä. verwendet werden, natürlich sind regexes viel mächtiger aber eben auch langsamer und daher für größere wortlisten eher ungünstig 😞

    Nenn mir einen Vorteil von regex. Einen Vorteil von soundex sehe ich.

    Das Problem ist: es geht um string manipulation und plötzlich denken alle: JA, da benutz ich regex. Die bringen hier aber keinen Vorteil, wohl aber einen Nachteil. Pack mal sh.t auf die badwords list. und plötzlich hast du shot auch zensiert. Ist halt gefährlich da du die Wartung der blackwords und whitewords technisch unerfahrenen Leuten geben willst.

    soundex ist halt lahm, aber natürlich kann es sinnvoll sein. In diesem Fall würde man mit preg_explode den eingabe Text in Teile zerlegen und dort überall soundex oder dergleichen drüber laufen lassen. So macht man das ja bei den Suchfunktionen. Je nachdem wie lange der Text ist, ist das aber wohl eine eher schlechtere Idee.

    Aber wie gesagt: das Problem ist das Konzept der blacklist. Man braucht dazu eine Whitelist (die macht das Problem aber auch nicht weg, sondern verringert es nur etwas). Blacklists sind immer nur ein zusätzliches Hilfetool, nie selber die Lösung.

    @RandomAccess85:
    Es ist ein interessantes Thema. Da kann man schön darüber diskutieren. Zähl einfach mal die Vorteile von regex hier auf. zB könntest du argumentieren dass man mit regex ja schön nur einzelne Wörter matchen kann, dank \b - was meine Methode ja nicht kann. Nur müsstest du dann noch ein Argument gegen zusammengesetzte schimpfwörter finden -> zB dass man diese eben auch eintragen muss. Oder dass man zB immer nur am Anfang des Wortes matchen könnte um so arschloch zu fangen aber marsch in ruhe zu lassen...

    Ist ein sehr spannendes Thema und es gibt keine wirklich gute Lösung dafür. Es wäre ziemlich super wenn wir hier eine ideallösungen finden würden.



  • Ich muss nicht mit dir über reguläre Ausdrücke diskutieren wenn der Thread-Ersteller wissen wollte wie man schnell und effizient einen BWF basteln kann. Dann mach ein seperates Thema auf (Herr Moderator) und diskutier dort, wenn du es unbedingt willst.

    VlG



  • Ich werde wohl nie verstehen, wo nun der Unterschied liegt, ob da nun Arschloch steht oder ********* und jeder weiß, was gemeint ist. Wozu der ganze Affenkram?


  • Mod

    RandomAccess85 schrieb:

    Ich muss nicht mit dir über reguläre Ausdrücke diskutieren wenn der Thread-Ersteller wissen wollte wie man schnell und effizient einen BWF basteln kann. Dann mach ein seperates Thema auf (Herr Moderator) und diskutier dort, wenn du es unbedingt willst.

    Dieser Thread ist genau der Richtige um darüber zu diskutieren.
    Du wirkst auf mich leicht beleidigt. Falls ich dich beleidigt haben sollte tut es mir leid, das war nie meine Absicht.

    Aber ich denke schon dass es sinnvoll ist hier auf die unsinnigkeit von Blacklisten hinzuweisen um die Limitierungen der Implementierung aufzuzeigen. Und im gleichen Zug auch eine verbesserte Variante anzubieten.



  • Hallo,

    na gut! Ich weiß nicht was an Blacklisten in Form von Badwordfiltern unsinnig ist. Marc++us macht es auch (wobei es in dem Fall wirklich unsinnig ist, weil er Rechtschreibfehler zensiert). Ich für meinen Teil lasse mich in Chats oder Foren oder Shoutboxen nur ungern beleidigen und empfinde es dann eher als belustigend wenn anstelle von "Arschloch" irgendetwas anderen blödes kommt.
    Zudem spielen noch ganz andere Faktoren eine Rolle - Jugendschutz & Verfassungsschutz (nur um mal zwei Beispiele zu nennen).
    Schreibt jemand 88 (ausgeschrieben (muss ich sicher nicht weiter darauf eingehen)) haftet nicht der der geschrieben hat, sondern der, der ermöglicht hat, dass es geschrieben werden konnte.

    Zensur in geringem Maße halte ich für vollkommen ok und auch angemessen.

    Technisch gesehen wüsste ich jetzt keine andere Möglichkeit außer mittels replace-Methoden zu filtern. Welche der vielen Methoden man nutzt ist sicher Ansichtssache und auch Sache des Verwendung. Manch einer filtern nur ganze Worte, andere filtern Sätze, wieder andere filtern Bestandteile aus einem oder beidem und die vierten wollen den absoluten Schutz und filtern sogar die bösen Worte in falscher Schreibweise. Manchmal auch nicht unklug wenn ich an den Stress denke, den Ex-Lycos mal wegen nur schlecht gepflegten Filtern hatte.

    Auf die bessere Variante bin ich nun sehr gespannt. Gänzlich auf solche Listen zu verzichten ist es auf jeden Fall nicht.

    VlG


  • Mod

    Beleidigungen kann man nicht zensieren. Es gibt auch kein System das das irgendwie gut machen wuerde. Oft wird es aber natuerlich vom Kunden verlangt - dann muss man so ein System eben einbauen. Nur muss einem klar sein, dass man damit nur den Kunden befriedigt aber nicht Beleidigungen unterbindet.

    Wenn zB arsch zensiert ist, dann gibt es 2 Moeglickeiten: ich kann nicht marsch schreiben oder ich kann arschloch schreiben. Beides abfangen ist nicht moeglich. Und dabei sind die Beleidigungen noch komplett unkreativ.

    Deshalb braucht man eine whitelist dazu, um eben marsch zu erlauben und arschloch dennoch zu zensieren.

    Ein simples System das ganz OK funktioniert waere zB:

    $content = 'some content';
    $blacklist = file('blacklist.txt');
    foreach($blacklist as $word) {
      $content = str_ireplace($word,str_repeat('*', strlen($word)), $content);
    }
    
    $whitelist = file('whitelist.txt');
    foreach($whitelist as $line) {
      list($word, $replace) = explode(';',$line);
      $content = str_ireplace($word, $replace, $content);
    }
    

    Dadurch kann man in whitelist.txt zB m***** reinschreiben (bzw. man schreibt marsch rein und laesst automatisch zensieren) und es wieder in marsch zurueck wandeln.

    Je nachdem was man will wird es komplexer.

    Aber jedes System laesst sich trivial austricksen. Dieses hier zB dadurch dass man ar$ch schreibt. oder dergleichen.

    Hier gibt es nur die Moeglichkeit zu de-leeten. Also alle $ in s umwandeln, sich die Position merken, dann zensieren und dann wieder zurueck wandeln. Aber das steigert die Komplexitaet eben wieder. Hier waere es sogar wirklich besser mit regex zu arbeiten, indem aus arsch naemlich wirklich
    [a@4](r|\/|2)[s$][c<\(][hb4]
    wird. Automatisch natuerlich.

    Aber alle Schreibweisen kann man so leider auch nicht abfangen. Und auch nicht alle Schimpfworte die auf einen Kontext basieren. zB behindert. Das kann als Schmipfwort benutzt werden, darf aber nie zensiert werden.

    Die Rechtschreibzensur hat hier zB damit angefangen dass arsch in wahrscheinlich ohne h eben zensiert wurde. Das war lustig und der Anfang des ganzen.

    Siehe auch: http://www.telegraph.co.uk/news/newstopics/howaboutthat/2667634/The-Clbuttic-Mistake-When-obscenity-filters-go-wrong.html

    Deshalb sind whitelists essentiell. Oder aber man zensiert nur das Wort wenn es alleine steht - was zwar deutlich weniger Sinn macht (dennoch oft dem Kunden reicht).

    Ein anderer Ansatz ist natuerlich mit einem Art spamfilter die anstoessigen Texte zu filtern. Ist aber noch eine Stufe komplexer und funktioniert auch nicht einwandfrei.

    Deshalb: solange es der Kunde nicht explizit verlangt wuerde ich nicht automatisch zensieren. Wenn es notwendig ist, wuerde ich mit einer blacklist/whitelist zensieren und die gaengigsten Abwandlungen der Schimpfworte auch auf die Blacklist setzen. Aber das ist ein Kampf den man von vornherein verloren hat - da die Besucher immer einen Weg finden daran vorbei zu kommen.

    Meistens ist es effektiver zu loeschen und mit einem Besucher-koennen-Posts-melden-System zu arbeiten.



  • Hallo,

    natürlich gibt es immer Wege zum Tricksen, aber das sollte den Webmaster nicht von seinen Pflichten abhalten. Die Black/Whitelist-Variante ist mir für sowas banales viel zu übertrieben. Da such ich lieber ganze Wörter und ergänze die Blacklist um "Arschloch". Wenn ich dann noch gesonderte Schreibweisen berücksichtigen will (die gängigen) nehm ich Expressions und dann ist das auch schon durch. Ich will den Leuten ja auch nicht den Mund verbieten oder die Freiheit nehmen sich auszudrücken. Sollte doch noch jemand auf Teufel komm raus andere Schreibweisen verwenden nur um zu beleidigen, kann man immernoch auf die Meldefunktionen zurückgreifen und diese effektiv nutzen.

    VlG


  • Mod

    Diese "Pflicht" des Webmasters existiert nicht. Diese schlechten Zensuren fuehren zu mehr Problemen als sie Vorteil bringen. Den Umgangston muss man durch andere Massnahmen gewaehrleisten.

    Aber wir sind schon einen Schritt weiter. Dein Code auf der 1. Seite hat naemlich das klassische clbuttic Problem. Insofern hat diese Diskussion schon eine Menge gebracht, nicht wahr?

    Diese andere Schreibweisen der Schimpfworte entstehen uebrigens auch nicht auf Teufel komm raus, sondern ganz natuerlich. Jemand schreibt ein Schimpfwort, das wird zensiert und schon springen einige Leute ein um das Problem zu knacken. Solche "Probleme" zu loesen um so eine Zensur zu umgehen ist enorm spassig und zieht automatisch Leute auf sich.

    Selbst wenn das nicht der Fall waere - sobald jemand ein Schimpfwort findet dass nicht zensiert wird, wird das sofort uebernommen.

    So ist die Dynamik da. Man muss sich bewusst sein dass diese Zensur nur stattfindet weil der Kunde es will - einen anderen Grund gibt es nicht.

    PS:
    wie mache ich das wohl dass mal arsch zensiert wird und mal wird arsch nicht zensiert? Eine wortlisten ohne vorherige Text Bereinigung sind auch nur sehr bedingt sinnvoll 😉



  • Hallo leute,

    Ich kann ja auch genug cm`s erwählen (channelmoderatoren)
    Und jeder der ein Schimpfwort benutzt kriegt eine Verwanung und wird bei nicht einhaltung sofort gekickt

    ich denke das ist die einfachste Variante

    mfg



  • Shade Of Mine schrieb:

    So ist die Dynamik da. Man muss sich bewusst sein dass diese Zensur nur stattfindet weil der Kunde es will - einen anderen Grund gibt es nicht.

    Das kann ich so nicht bestätigen. Angesprochen, wieso, hab ich ja bereits. Komplett Filterlos zu arbeiten kann einem auch mächtig Probleme bescheren. Egal ob es nun Pflicht ist oder nicht (Beispiel dazu gabs auch schon).

    Ich glaube du betrachtest das ganze zu technisch und denkst zu wenig an andere Eventualitäten. Wie gesagt: du haftest für den Blödsinn den Leute auf deiner Seite, in deinem Chat, in deiner Shoutbox, in deinem Forum, anstellen.

    Shade Of Mine schrieb:

    ]Diese schlechten Zensuren fuehren zu mehr Problemen als sie Vorteil bringen. Den Umgangston muss man durch andere Massnahmen gewaehrleisten.

    Ich arbeite schon ewig mit ganz einfachen Replacern und hatte ehrlich gesagt noch nie ein Problem mit damit. Die Leute die tagtäglich bei mir damit konfrontiert werden auch nicht. Die machen sich eher einen Spaß daraus und das find ich auch ganz gut so.

    Shade Of Mine schrieb:

    ]Jemand schreibt ein Schimpfwort, das wird zensiert und schon springen einige Leute ein um das Problem zu knacken. Solche "Probleme" zu loesen um so eine Zensur zu umgehen ist enorm spassig und zieht automatisch Leute auf sich.

    Das ist dann aber die "Wenn einer doof ist, sind alle anderen auch doof"-Betrachtungsweise. Es sind nicht alle Menschen schlecht und selbst wenn ist es dann ja doch ein "auf Teufel komm raus"-Badword'en...

    derdefeckter schrieb:

    Ich kann ja auch genug cm`s erwählen (channelmoderatoren)
    Und jeder der ein Schimpfwort benutzt kriegt eine Verwanung und wird bei nicht einhaltung sofort gekickt

    Das schreckt eher ab, als dass es hilft.

    freed0m schrieb:

    oh ja überwachungsstaat ist was ganz tolles

    Ich geh davon aus dass es ironisch gemeint war, weswegen ich dir da ausnahmslos zustimme. Aber so isset halt...

    VlG

    Achsooo, übrigens: arsch <<< ich weiß wie's geht :p


  • Mod

    RandomAccess85 schrieb:

    Ich glaube du betrachtest das ganze zu technisch und denkst zu wenig an andere Eventualitäten. Wie gesagt: du haftest für den Blödsinn den Leute auf deiner Seite, in deinem Chat, in deiner Shoutbox, in deinem Forum, anstellen.

    Ja und da ist es egal ob da arschloch oder arschgesicht steht. Wenn du wegen sowas Probleme bekommst dann ist das System dass du verwendest egal. Das beste ist immernoch ein Meldesystem. Damit hast du naemlich genuegend getan (sofern du die Moderator Power hast die Posts auch zu loeschen). Wenn du diese Power nicht hast, dann rettet dich das Zensursystem auch nicht.

    Bei unseren Kunden ist das alles absolut kein Thema solange die Posts geloescht werden. Kann mich jetzt an kein Problem erinnern von dem ich je gelesen haette wenn du ein gutes System hast.

    Ich arbeite schon ewig mit ganz einfachen Replacern und hatte ehrlich gesagt noch nie ein Problem mit damit. Die Leute die tagtäglich bei mir damit konfrontiert werden auch nicht. Die machen sich eher einen Spaß daraus und das find ich auch ganz gut so.

    Google mal nach: clbuttic

    Die Probleme treten auf und dann ists ziemlich peinlich.

    Das ist dann aber die "Wenn einer doof ist, sind alle anderen auch doof"-Betrachtungsweise. Es sind nicht alle Menschen schlecht und selbst wenn ist es dann ja doch ein "auf Teufel komm raus"-Badword'en...

    An das Gute im Menschen zu appelieren ist bei solchen Systemen fatal.
    Du brauchst ein Kontroll System um das Niveau zu halten. Das geht nur mit Mannpower.



  • hallo zusammen,

    also was würdet ihr mir jetzt empfehlen?

    (wie schon gesagt wurde das wird ein Thema zum diskutieren 😃 😃 😃 )

    aber wenn jeder was anderes schreibt fragt man sich sowas ja denn

    mfg derdefeckter



  • Shade Of Mine schrieb:

    Ja und da ist es egal ob da arschloch oder arschgesicht steht. Wenn du wegen sowas Probleme bekommst dann ist das System dass du verwendest egal.

    Aber zumindest hat man etwas getan. Und diese Tatsache ist nicht wertlos.

    Shade Of Mine schrieb:

    Das beste ist immernoch ein Meldesystem. Damit hast du naemlich genuegend getan (sofern du die Moderator Power hast die Posts auch zu loeschen). Wenn du diese Power nicht hast, dann rettet dich das Zensursystem auch nicht.

    Natürlich ist ein Meldesystem gut, aber auch das kann missbraucht werden. Und dann rennst du als Moderator jeder dämlichen kleinen Meldung nach und kommst zu nichts Anderem mehr. Mit dem Filter vorab ist das eingeschränkter.

    Shade Of Mine schrieb:

    An das Gute im Menschen zu appelieren ist bei solchen Systemen fatal.
    Du brauchst ein Kontroll System um das Niveau zu halten. Das geht nur mit Mannpower.

    Alle zu verallgemeinern und alle für potentiell schlecht zu halten macht dich unsympatisch und unmenschlich.

    @derdefeckter: Hast du 100 Leute am Start die 24 Stunden pro Tag deine Shoutbox checken? Dann nutz Shade Of Mine('s) Variante und mach 7/24 Kontrolle. Hast du das nicht, setz einen Badwordfilter ein und aktualisier den ganz einfach wenn dir auffällt dass du irgendetwas nicht beachtet oder schlichtweg vergessen hast

    VlG



  • Hallo,

    Also ich tendiere zu den cm mit der 24/7 kontrolle allerdings werde ich zusätzlich wahrscheinlich ein badword array anlegen wo einige wörter zensiert werden und ich denke das das denn langen sollte

    mfg derdefeckter



  • derdefeckter schrieb:

    allerdings werde ich zusätzlich wahrscheinlich ein badword array anlegen wo einige wörter zensiert werden

    Ja, Standart, Algorhitmus, vorraus und so.


  • Mod

    RandomAccess85 schrieb:

    Natürlich ist ein Meldesystem gut, aber auch das kann missbraucht werden. Und dann rennst du als Moderator jeder dämlichen kleinen Meldung nach und kommst zu nichts Anderem mehr. Mit dem Filter vorab ist das eingeschränkter.

    Nein.

    Schau dir mal an was gemeldet wird. Das hat nichts mit Zensur zu tun.

    Alle zu verallgemeinern und alle für potentiell schlecht zu halten macht dich unsympatisch und unmenschlich.

    Es ist einfach jahrelange Erfahrung beim laufen halten von Communities. Wenn du dich darauf verlaesst dass niemand etwas boeses macht hast du verloren. Du brauchst eine Strategie wie du das Niveau halten kannst - das ist einfach nur common sense. Wenn deine einzige Strategie ist Schimpfwoerter zu zensieren hast du verloren.

    Das ist genauso wie wenn man sagt man muss sich nicht gegen SQL Injections schuetzen, weil nette Leute machen das schon nicht. Es reichen aber 3-4 Unruhe Stifter aus um das Niveau zu killen. Da braucht man eine Strategie.

    Und von 100 Leute die 24/7 alles ueberwachen - ja, aeh. Muss man dazu was sagen oder willst du mich einfach nur aergern? Darf ich fragen was dein Problem mit mir ist?

    @derdefeckter:
    Denk aber an whitelists oder zensiere nur einzelne Woerter. Bloss nicht den Code von RandomAccess85 auf Seite 1 verwenden.



  • Cut and out. Ich schließe hier auf Grund wiederholter verbaler Entartungen 👎


Anmelden zum Antworten