ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Code Hack Requests / Anti Troll Javascript bei Beiträgen


Seite 1 von 1

Luki schrieb am 01.01.2005 um 18:51 Uhr

siehe hier: http://www.boardunity.de/showthread.php?p=23264#post23264

Hi,

die Idee ist super und sollte weiterentwickelt werden:
... bei mir ist die z.T. schon umgesetzt...

wenn bei uns jemand im Forum einen Beitrag schreibt, und diesen absendet, bekommt er zuvor eine JS Meldung, wenn z.B. der Threadtitel etc. zu kurz ist...

Was haltet ihr von einem einfach cleveren Javascript, was die Eingaben überwacht und eine kleine Meldung ausgibt, wenn jemand PLÖTZLICH ANFÄNGT GROSSZUSCHREIBEN oder einen Buchstaben zu oft verwendet!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !

ich denke das würde so manche Streitereien und schlechte Threadtitel vermeiden...

wer kann gut genug Javascript?

nette Funktion beim selfhtml forum

a haben dich die Großschreibung und die vielen Ausrufezeichen im Subject hineingeritten ;)

Zur Erklärung: es wird jedes Posting nach bestimmten Kriterien geprüft. Genügt es einer
bestimmten Menge dieser Kriterien nicht, so fällt es durch die Format-Prüfung und es kommt zu
o.g. Fehlermeldung. Die Kriterien schlagen wie folgt zu Buche:

Subject enthält mehr als 4 gleiche Buchstaben hintereinander: -3 Punkte
Subject enthält mehrere Satzzeichen nacheinander: -3 Punkte
Komplett groß geschriebenes Subject: -3 Punkte
Komplett klein geschriebenes Subject: -0,5 Punkte

Name enthält mehr als 4 gleiche Buchstaben hintereinander: -2 Punkte
Name enthält mehrere Satzzeichen hintereinander: -2 Punkte
Komplett groß geschriebener Name: -3 Punkte
Komplett klein geschriebener Name: -0,5 Punkte

Keine E-Mail-Adresse angegeben: -1 Punkt

Text enthält weniger als zwei Zeilenumbrüche: -3 Punkte
Text enthält keine Satzzeichen: -3 Punkte
Text komplett klein geschrieben: -1 Punkt
Text komplett groß geschrieben: -3 Punkte

Es werden am Anfang 5 Punkte vorgegeben. Wird das Punktekonto kleiner 0, so fällt das Posting
durch den Test durch.

prüfen kann man sonst noch ob mehr als 50% des Beitrages zitiert sind...

PhoenixDH schrieb am 01.01.2005 um 20:16 Uhr

Finde ich net schlecht die Idee !

MrNase schrieb am 01.01.2005 um 21:08 Uhr

Bzgl. des Buchstabens hab ich grad ne Lösung gefunden. Bislang existiert es noch als PHP aber die Umformung in Javascript sollte kein grosses Problem sein.


Was das validieren bzgl. übermässiger Grossschreibung angeht bin ich nun auch weitergekommen..

MrNase schrieb am 01.01.2005 um 21:52 Uhr

So hier ist eine Version ohne JS. Man kann gerne noch erweitern ;)

functions.inc.php - neue Funktion:

function check_troll($eingabe) {
    
$pattern = '/\!{5,}/i';       // 5 oder mehr ! 

$pattern2 = '/[A-Z]{5,}\b/';  // 5 oder mehr Wörter die komplett GROSS geschrieben sind

if(preg_match($pattern, $eingabe) == true) {
    $error = 'Es wurde festgestellt, dass du mehr als 5 Ausrufezeichen verwendet hast. Es gilt in vielen Fällen als unhöflich sodass du deinen Beitrag nochmal editieren solltest.';
}
if(preg_match($pattern2, $eingabe) == true) {
    $error = 'Du hast mehrere Worte komplett GROSS geschrieben.. Du solltest deine Eingabe nochmal überprüfen und gegebenfalls etwas verändern.';
}
if(preg_match($pattern, $eingabe) == true AND preg_match($pattern2, $eingabe) == true) {

    $error = 'In deinem Beitrag wurden mehrere Dinge festgestellt die gegen die Forenregeln verstossen: <ul>';
    
    $error .= '<li>Es wurde festgestellt, dass du mehr als 5 Ausrufezeichen verwendet hast. Es gilt in vielen Fällen als unhöflich sodass du deinen Beitrag nochmal editieren solltest.</li>';
    $error .= '<li>Du hast mehrere Worte komplett GROSS geschrieben.. Du solltest deine Eingabe nochmal überprüfen und gegebenfalls etwas verändern.</li>';
    
    $error .= '</ul>';
}


return $error;
        
}

newtopic.php - Dieses

$trollcheck = check_troll($post["posttext"]);
    if($trollcheck != '') {
        
        message("Verstoss gegen die Forenregeln", $trollcheck);
     }

einfügen unter

if( $config['uppercase_prot'] )
    {
      $thread['threadtopic'] = killshout( $thread['threadtopic'] );
    }

Testen kann man es auf http://www.validhtml.com/thwb-rc2/newtopic.php?boardid=1 :)

Luki schrieb am 01.01.2005 um 23:13 Uhr

nicht schlecht... :) - allerdings besteht eventuell die Möglichkeit das der ganze Thread auf der Vorderseite weg ist... ;)

von daher halt ausnahmsweise mal Javascript... - das am besten während der Eingabe selbst prüft ;)

bei mir im Forum wird z.B. mit clicken auf den Antwort erstellen Button kurz etwas geprüft und ggf. ein JS Alert ausgegeben:

function checkForm() {

    formErrors = false;

    if (document.newtopicform.elements["post[posttext]"].value.length < 18) {
        formErrors = "Der Beitrags-Text ist zu kurz! - (bitte min. 18 Zeichen!)";
    }


    if (document.newtopicform.elements["thread[threadtopic]"].value.length < 15) {
        formErrors = "Der Titel ist zu kurz! - Bitte Thema genauer beschreiben!\n (z.B. mehr Schlagwörter!) - (min. 15 Zeichen!)";
    }

    if (formErrors) {
        alert(formErrors);
        return false;
    } else {
        bbstyle(-1);
        //formObj.preview.disabled = true;
        //formObj.submit.disabled = true;
        return true;
    }
}

nur kann ich nicht gut genug JS um nun eine Funktion für die beiden oben gewünschten Optionen zu schreiben ;)

hevtig schrieb am 02.01.2005 um 01:22 Uhr

Hmm JS ist ansich nicht so dolle. Es würde hier zwar evtl. Sinn machen, aber was soll ohne JS passieren?
Ich meine selbst die "Anfängercomputerzeitschriften" trimmen den Ottonormaluser auf JS zu verzichten. Also sollte mE lieber eine erneute Überprüfung beim Absenden geschehen.

theDon schrieb am 02.01.2005 um 01:22 Uhr

$pattern2 = '/[A-Z]{5,}\b/';  // 5 oder mehr Wörter die komplett GROSS geschrieben sind

nein. das sind 5 (oder mehr) buchstaben.

Luki schrieb am 02.01.2005 um 12:21 Uhr

hevtig postete
Hmm JS ist ansich nicht so dolle. Es würde hier zwar evtl. Sinn machen, aber was soll ohne JS passieren?

die 1% die kein JS haben verzichten auf das Feature und bekommen KEINE Meldung ;) - also ich finde JS in diesem Fall am cleversten!

man sollte das nur als Hinweis sehen, da UNO, NATO, UNESCO, UNICEF, UNPROFOR oder BUND ja trotzdem vorkommen kann und das den Thread nicht verhindern soll...

http://de.selfhtml.org/html/referenz/zeichen.htm#allgemeines

Luki schrieb am 08.01.2005 um 19:05 Uhr

nette Funktion siehe erster Beitrag editert...

sb|Max schrieb am 15.01.2005 um 16:36 Uhr

Luki postete
siehe hier: http://www.boardunity.de/showthread.php?p=23264#post23264

Hi,

die Idee ist super und sollte weiterentwickelt werden:
... bei mir ist die z.T. schon umgesetzt...

wenn bei uns jemand im Forum einen Beitrag schreibt, und diesen absendet, bekommt er zuvor eine JS Meldung, wenn z.B. der Threadtitel etc. zu kurz ist...

Was haltet ihr von einem einfach cleveren Javascript, was die Eingaben überwacht und eine kleine Meldung ausgibt, wenn jemand PLÖTZLICH ANFÄNGT GROSSZUSCHREIBEN oder einen Buchstaben zu oft verwendet!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !

ich denke das würde so manche Streitereien und schlechte Threadtitel vermeiden...

wer kann gut genug Javascript?

nette Funktion beim selfhtml forum

a haben dich die Großschreibung und die vielen Ausrufezeichen im Subject hineingeritten ;)

Zur Erklärung: es wird jedes Posting nach bestimmten Kriterien geprüft. Genügt es einer
bestimmten Menge dieser Kriterien nicht, so fällt es durch die Format-Prüfung und es kommt zu
o.g. Fehlermeldung. Die Kriterien schlagen wie folgt zu Buche:

Subject enthält mehr als 4 gleiche Buchstaben hintereinander: -3 Punkte
Subject enthält mehrere Satzzeichen nacheinander: -3 Punkte
Komplett groß geschriebenes Subject: -3 Punkte
Komplett klein geschriebenes Subject: -0,5 Punkte

Name enthält mehr als 4 gleiche Buchstaben hintereinander: -2 Punkte
Name enthält mehrere Satzzeichen hintereinander: -2 Punkte
Komplett groß geschriebener Name: -3 Punkte
Komplett klein geschriebener Name: -0,5 Punkte

Keine E-Mail-Adresse angegeben: -1 Punkt

Text enthält weniger als zwei Zeilenumbrüche: -3 Punkte
Text enthält keine Satzzeichen: -3 Punkte
Text komplett klein geschrieben: -1 Punkt
Text komplett groß geschrieben: -3 Punkte

Es werden am Anfang 5 Punkte vorgegeben. Wird das Punktekonto kleiner 0, so fällt das Posting
durch den Test durch.

Hallo, ich würde mich bereit erklären, dieses Script umzusetzen, wenn mir jemand bei den RegExes hilft. Einzige Bedingung wäre, dass ich es auch für meine eigenenkommerziellen Produkte verwenden darf!

Ich habe im mOment ein bisschen wenig zeit aber so in zwei Wochen könnte ich mich mal mit der Umsetung beschäftigung. Wenn Interesse besteht, schickt mir doch eine E-Mail: max-m[ta]web[tknup]de

MfG Max

Luki schrieb am 15.01.2005 um 19:40 Uhr

bin natürlich riesig interessiert!

Seite 1 von 1