Frage

Nicht sehr technisch, aber...Ich muss in einer neuen Website, die wir entwickeln, einen Filter für schlechte Wörter implementieren.Ich brauche also eine Liste mit „guten“ schlechten Wörtern, mit der ich meine Datenbank füttern kann ...Gibt es einen Hinweis/eine Richtung?Mit Google umschauen I Ich habe es gefunden eins, und es ist ein Anfang, aber nichts weiter.

Ja, ich weiß, dass diese Art von Filtern leicht zu umgehen ist ...aber der Wille des Klienten ist der Wille des Klienten!!!:-)

Die Website muss sowohl englische als auch italienische Wörter herausfiltern, aber für Italienisch kann ich meine Kollegen bitten, mir mit einer von der Community erstellten Liste von „parolacce“ zu helfen :-) – eine E-Mail reicht aus.

Vielen Dank für jede Hilfe.

War es hilfreich?

Lösung

Ich habe keine angegebene Sprache gesehen, aber Sie können dies für PHP verwenden. Es wird für jedes eingefügte Werk ein RegEx generiert, sodass selbst absichtliche Rechtschreibfehler (z. B.@ss, i3itch ) wird ebenfalls abgefangen.

<?php

/**
 * @author unkwntech@unkwndesign.com
 **/

if($_GET['act'] == 'do')
 {
    $pattern['a'] = '/[a]/'; $replace['a'] = '[a A @]';
    $pattern['b'] = '/[b]/'; $replace['b'] = '[b B I3 l3 i3]';
    $pattern['c'] = '/[c]/'; $replace['c'] = '(?:[c C (]|[k K])';
    $pattern['d'] = '/[d]/'; $replace['d'] = '[d D]';
    $pattern['e'] = '/[e]/'; $replace['e'] = '[e E 3]';
    $pattern['f'] = '/[f]/'; $replace['f'] = '(?:[f F]|[ph pH Ph PH])';
    $pattern['g'] = '/[g]/'; $replace['g'] = '[g G 6]';
    $pattern['h'] = '/[h]/'; $replace['h'] = '[h H]';
    $pattern['i'] = '/[i]/'; $replace['i'] = '[i I l ! 1]';
    $pattern['j'] = '/[j]/'; $replace['j'] = '[j J]';
    $pattern['k'] = '/[k]/'; $replace['k'] = '(?:[c C (]|[k K])';
    $pattern['l'] = '/[l]/'; $replace['l'] = '[l L 1 ! i]';
    $pattern['m'] = '/[m]/'; $replace['m'] = '[m M]';
    $pattern['n'] = '/[n]/'; $replace['n'] = '[n N]';
    $pattern['o'] = '/[o]/'; $replace['o'] = '[o O 0]';
    $pattern['p'] = '/[p]/'; $replace['p'] = '[p P]';
    $pattern['q'] = '/[q]/'; $replace['q'] = '[q Q 9]';
    $pattern['r'] = '/[r]/'; $replace['r'] = '[r R]';
    $pattern['s'] = '/[s]/'; $replace['s'] = '[s S $ 5]';
    $pattern['t'] = '/[t]/'; $replace['t'] = '[t T 7]';
    $pattern['u'] = '/[u]/'; $replace['u'] = '[u U v V]';
    $pattern['v'] = '/[v]/'; $replace['v'] = '[v V u U]';
    $pattern['w'] = '/[w]/'; $replace['w'] = '[w W vv VV]';
    $pattern['x'] = '/[x]/'; $replace['x'] = '[x X]';
    $pattern['y'] = '/[y]/'; $replace['y'] = '[y Y]';
    $pattern['z'] = '/[z]/'; $replace['z'] = '[z Z 2]';
    $word = str_split(strtolower($_POST['word']));
    $i=0;
    while($i < count($word))
     {
        if(!is_numeric($word[$i]))
         {
            if($word[$i] != ' ' || count($word[$i]) < '1')
             {
                $word[$i] = preg_replace($pattern[$word[$i]], $replace[$word[$i]], $word[$i]);
             }
         }
        $i++;
     }
    //$word = "/" . implode('', $word) . "/";
    echo implode('', $word);
 }

if($_GET['act'] == 'list')
 {
    $link = mysql_connect('localhost', 'username', 'password', '1');
    mysql_select_db('peoples');
    $sql = "SELECT word FROM filters";
    $result = mysql_query($sql, $link);
    $i=0;
    while($i < mysql_num_rows($result))
     {
        echo mysql_result($result, $i, 'word') . "<br />";
        $i++;
     }
     echo '<hr>';
 }
?>
<html>
    <head>
        <title>RegEx Generator</title>
    </head>
    <body>
        <form action='badword.php?act=do' method='post'>
            Word: <input type='text' name='word' /><br />
            <input type='submit' value='Generate' />
        </form>
        <a href="badword.php?act=list">List Words</a>
    </body>
</html>

Andere Tipps

Hüte dich vor Clbuttische Fehler.

„Apple hat den großen Fehler gemacht, seinen Visionär zu verdrängen – ich meine, schauen Sie sich an, was NeXT gemacht hat!“

Hmm.„clbuttisch“.

Google „clbuttic“ – Tausende Treffer!

Es gibt jemanden, der sein Auto „Clbuttic“ nennt.

Es gibt „Clbuttic Steam Engine“-Foren.

Websters Wörterbuch – keine Hilfe.

Hmm.Was kann das sein?

HINWEIS:Menschen, die Hintern über ihre Regex -Skripte machen, werden in Kohlensaugen versehen, wenn sie diesen Mbuttive -Fehler wiederholen.

Shutterstock hat ein Github-Repo mit einem Liste der schlechten Wörter zum Filtern verwendet.

Du kannst es dir hier ansehen: https://github.com/shutterstock/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words

Falls jemand eine API benötigt, stellt Google derzeit einen Bad-Word-Indikator zur Verfügung.

http://www.wdyl.com/profanity?q=naughtyword

{
response: "false"
}

Aktualisieren:Google hat diesen Dienst inzwischen entfernt.

Ich würde sagen, dass Sie Beiträge einfach entfernen sollten, sobald Sie darauf aufmerksam werden, und Benutzer blockieren, die sich in ihren Beiträgen zu explizit äußern.Sie können sehr beleidigende Dinge sagen, ohne Schimpfwörter zu verwenden.Wenn Sie das Wort „ass“ (auch „Donkey“ genannt) blockieren, geben die Leute einfach a$$ oder /\55 ein, oder was auch immer sie sonst noch eingeben müssen, um den Filter zu umgehen.

+1 zum Clbuttic-Fehler: Ich denke, es ist wichtig, dass Filter für „schlechte Wörter“ sowohl nach führenden als auch nachgestellten Leerzeichen (z. B. „ass“) suchen und nicht nur nach der genauen Zeichenfolge, damit wir keine Wörter wie clbuttic haben , clbuttes, buttert, buttess usw.

Wikipedia ClueBot hat einen Filter für schlechte Wörter, lesen Sie dessen Quelle.

http://en.wikipedia.org/wiki/User:ClueBot/Source#Score_list

Sie könnten den Kunden jederzeit davon überzeugen, eine Sitzung mit Benutzern einzurichten, die ständig Schimpfwörter posten, und eine einfache Lösung finden, um diese dem System hinzuzufügen.Es ist eine Menge Arbeit, aber es wird wahrscheinlich repräsentativer für die Community sein.

Bei der Recherche zu diesem Thema habe ich festgestellt, dass mehr als nur eine Liste benötigt wird, die willkürliche Ersetzungen vornimmt.Ich habe einen Webdienst erstellt, mit dem Sie den gewünschten Grad an „Sauberkeit“ ermitteln können.Es wird auch versucht, Fehlalarme zu identifizieren – d. h.wo ein Wort in einem Kontext schlecht sein kann, in anderen jedoch nicht.Schauen Sie mal rein http://filtersprache.com

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top