Verzögerung (basecounter) erstellen

  • Grüße Euch alle.

    Zuerst zu meiner Person.

    Ich bin im Bereich der "Programmierung" noch ziemlich neu. Seit Juli habe ich angefangen, mich hier und da einzulesen. Darum, habt ein wenig Geduld, wenn ich bestimmte Antworten nicht beim ersten mal verstehe :)

    Zu meiner Frage: Ich habe kürzlich ein Themenchat eröffnet. Soweit steht und läuft auch alles, wie gewünscht. Nun jedoch gibt es einige Störenfriede, Spam-Bots, die ich anhand der IP sperre. Kommen aber immer wieder mit Proxys rein. Nun habe ich mir vorgenommen, dass ich einen Counter einbaue, der nach dem Log-In, eine vorgegebene Zeit runterläuft (z.B. 30 Sek), wo der User nicht schreiben kann und nach Ablauf erst, der Textbereich freigegeben wird, und das möglichst nur für unregistrierte Nutzer.

    Wie kann ich das realisieren?

  • Da hab ich bereits vor einigen Monaten angefragt. Leider keine Rückmeldung. Weder vom Seiteninhaber, noch im Forum.

    Allgemein ist der support dort seit Jahren eingestellt.
    Aus diesem Grund wende ich mich nun an euch.

  • Das ist natürlich schlecht. Aber gut, Produkt ist kostenlos, dann kann man halt wenig Support erwarten.

    Ich weiß nicht, ob noch jemand sich hier bereit erklärt, aber ich könnte erst am WE dazu kommen, das mal testweise anzusehen.

  • Ich habe eine Funktion, die unreg. Gäste die Copy&Paste Funktion verbietet.

    Code
    $('message').onpaste = function () {
    if (self.userPrivilegienGlobal == 'gast') {
    new Effect.Highlight('message', { 
    startcolor: '#ffffff'
    });
    $('message').disabled = true;
    $('message').value = 'Du musst registriert sein, um diese Funktion nutzen zu können!';
    setTimeout(let_write, 4000);
    return false;      }    }

    Zeile 1: der onpaste Befehl.
    Zeile 2: Nutzergruppe (in diesem Fall Gast)
    Zeile 3: Hier blinkt unser Textfeld weiss auf (Zeile 4) , wenn Return False kommt.
    Zeile 7: unsere Fehlermeldung

    Zeile 8: Dauer der Meldung, wo auch nichts gepostet werden kann.

    Ich wollte nun diesen Code ein wenig modifizieren und für mein Vorhaben nutzen.
    Das "onpaste" hab ich z.B. durch "onklick" ersetzt und "setTimeout" entsprechend hoch geschraubt.

    Soweit eigentlich gut. Doch bei jedem Klick ins Kommentarfeld kommt die Schreibpause. Das ist natürlich Mist :)

    Gibt es ein Befehl, der direkt beim Reload oder LogIn die Return False rausschmeisst? Also nicht nur bei C&P oder OnClick. Oder kann man pro Sitzung nur ein einziges mal die return false Meldung ausgeben? Oder bin ich mit dieser Methode komplett auf dem Holzweg?

  • Habe ich das richtig verstanden das unangemeldete user erst nach 30 Sekunden schreiben dürfen ?

    und Registrierte User dürfen sofort schreiben ?

    Du solltest aber auch weites gehend auf Javascript verzichten weil man das umgehen kann und die Bot Entwickler entwikeln ihre Bots ja auch immer weiter und umgehen irgendwann die sperren die das Javascript verhindert

  • Habe ich das richtig verstanden das unangemeldete user erst nach 30 Sekunden schreiben dürfen ?

    und Registrierte User dürfen sofort schreiben ?

    Ja genau, so soll es im Idealfall sein.

    So hätte ich bzw. die Moderatoren genug Zeit, vor dem Spamen, die entsprechenden User zu sperren.

    Was sicher(er) ist, weiss ich nicht. Darum hoffe ich, dass ich mit eurer Unterstützung das passende für mein Vorhaben zu finden.

  • Kann mir wirklich niemand weiterhelfen??

    Ich sitze nun 6 Stunden und versuche irgendwelche Möglichkeiten aus.
    Sei es Textfeld Zeitgesteuert anzeigen zu lassen, was nicht klappt,

    oder aktuell, dass die Eingabefläche ein Bild verdeckt, das nach 30 Sekunden verschwindet, was auch net klappt, weil es sich über das Feld setzt und nicht drauf.

    Wäre echt erfreut, wenn sich jemand die Zeit nimmt.

  • Arne Drews hattest du da schon was gemacht oder schon zeit gefunden ?


    hokkabaz81 wie hast du dir das den genau gedacht ?

    Soll das Textfeld einfach für 30 Sekunden gesperrt sein ?

    Oder soll der Chat für nicht registrierte nutzer erst nach 30 Sekunden betretbar sein ?

    Weil möglichkeiten gibt es da viele.

  • Nein, bin leider noch nicht dazu gekommen.

    Das Textfeld soll für unregistrierte Besucher erst nach 30sek. sichtbar sein.


    Eine reine JS-Lösung reicht da nicht aus, weil der User innerhalb der 30sek bereits HTTP-Requests durchgeführt haben kann.

    Die 30sek. würden dann von vorne beginnen. Hier sollte dann ein Startzeitpunkt über die Session laufen, der per PHP abgefragt wird und beim erneuten Seitenaufbau berücksichtigt, ob die 30sek. bereits um sind.


    Der Javascript "Counter" muss bei Nicht-Ablauf der Zeit in jedem HTTP-Request aktualisiert werden.


    LocalStorage & Co. würde ich hier nicht verwenden.

  • Komischer Chat. Erstens kann man sich ohne Passwort anmelden ,da gibt es nicht mal ein Passwort Feld. Wiie soll man dann nicht registrierte nutzer aussperren für 30 sekunden? Finde nicht einmal ein Feld wo man sich registrieren kann.

    Der Chat läuft bei mir nicht einmal richtig.

    Also ich werde da nicht so schnell helfen können, muß erstmal den Chat zum laufen bringen damit ich da ein überblick bekomme wie und wo man da User registrieren kann.

  • In dem besagtem Chat ist die Registrierung erst dann möglich, wenn man sich als Gast einloggt und dann unter Einstellungen, kann man sich sein Nick sichern.

    Es wird in dem Chat nach 3 (bzw.4) Benutzerklassen unterschieden.

    1. Gast (unreg.)
    2. User (reg)
    3. Mod
    4. Admin


    Die einzelnen Gruppen kann man einzeln ansprechen, in dem man die Zeile

    Code
    if(chatObj.userPrivilegienGlobal=='gast')

    nutzt.

    In dem Chat oben konnte ich folgendes rauspicken:



    1:1

    übernehmen ist leider nicht.


    Dieses Try Radio1 ist aber eine andere Funktion denke ich, die mit dem Chatradio zusammen hängen könnte.



    Das Textfeld hat weiter unten dann folgende Codierung:


    Code
    <div><div id="waiting" style="display:inline; font-weight:bold;color:#fff;"></div><div id="privat_anzeige" style="display:inline;">an alle im Raum:</div></div>

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!