FisyX Geschrieben 28. Januar 2004 Teilen Geschrieben 28. Januar 2004 Habe ein PHP Chat und möschte einen sogen. Floodschutz einbauen.... hab aber nicht den geringsten Ansatz wie ich so einen aufbauen bzw. programmieren könnte... Die Bedingungen: Der Chatter soll max x sätze in einem zeitintervall von x sekunden absenden. Die sätze werden in einer MYSQL Tabelle gespeichert! Eigabe erfolgt über ein Textfeld. Hoffe ich bekomme ein Paar Tipps und Anregungen Ach ja... wenn einer vieleicht noch weiß wie man einen Chatbot schreiben kann (erstmal das dieser sich zum chat verbindet) oder wo man einen herbekommen kann ??? Kann erstmal nen einfacher sein... sollte sich nur mal mit dem chat verbinden können (also quasi einloggen). Hoffe auf zahlreiche Antorten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
computercrustie Geschrieben 28. Januar 2004 Teilen Geschrieben 28. Januar 2004 Also zum ersten Teil wüsste ich wie: lege die Eintragszeit mit in der Datenbank ab und mach dann einen Vergleich zur aktuellen Zeit. Also besser: Einträge des Users zählen, die im Zeitraum aktuelle Zeit - Intervall liegen. Aber sollte das in einem Chat wirklich sinnvoll sein ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 28. Januar 2004 Autor Teilen Geschrieben 28. Januar 2004 Nu ja... sag mir warum dies nicht sinvoll sein soll ??? Sagen wir es befinden sich 3 chatter im raum. 2 unterhalten sich , der 3 fängt an 1000 mal hintereinander die zahl 1 einzutippen. Kein Admin da ???!!! Der floodschutz verhindert dies. Mann könnte ja noch eine zusatzfunktion einbauen wo den flooder für eine gewisse zeit kenbelt ??!! Sag mir warum du dies nicht sinnvoll hälst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
computercrustie Geschrieben 28. Januar 2004 Teilen Geschrieben 28. Januar 2004 Na gut, das hängt dann wahrscheinlich auch von deiner Begrenzung ab. Aber mich nerven hier manchmal schon die 60 Sekunden pro Foreneintrag. Aber eine Antwort auf den zweiten teil würde mich hier auch mal interessieren, zudem mein Chat ohne externes Protokoll läuft und u.U. 'ne Menge Traffic produziert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 28. Januar 2004 Autor Teilen Geschrieben 28. Januar 2004 Ja zum zweiten teil...... sagen wir mal so....... ich hab nen externen java bot. is halt für javachats gedacht.... isn alter von nem cassiopia chat. aber da muss man so sachen wie port angeben und .... mein php chat läuft über keinen port :confused: Weiss ja ned ob man den doch verwenden kann .... vieleicht bin ich einfach nur zu blöd Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 28. Januar 2004 Teilen Geschrieben 28. Januar 2004 einen chat in php zu machen finde ich schon vom ansatz her eine schlechte idee. für sowas sollte man applets o.ä. verwenden. ist ja kein wunder das du extrem viel traffic hast, wenn du bei jedem geschriebenen satz deine seite reloaden musst! zum thema: einfach in die db mit eintragen wann der datensatz eingefügt wurde. prüfen kannst du dann mit *PSEUDOCODE* if ( $timenow - $timelastpost > $timebetweenposts) { => insert text in db } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
computercrustie Geschrieben 28. Januar 2004 Teilen Geschrieben 28. Januar 2004 Original geschrieben von kills einen chat in php zu machen finde ich schon vom ansatz her eine schlechte idee. für sowas sollte man applets o.ä. verwenden. ist ja kein wunder das du extrem viel traffic hast, wenn du bei jedem geschriebenen satz deine seite reloaden musst! zum thema: einfach in die db mit eintragen wann der datensatz eingefügt wurde. prüfen kannst du dann mit *PSEUDOCODE* if ( $timenow - $timelastpost > $timebetweenposts) { => insert text in db } Also ersten habe ich das ja bereits gesagt, zweitens wird nicht die gesamte Seite jedesmal neu geladen (Beispiel ) und drittens hast du die Frage anscheinend nicht richtig gelesen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FisyX Geschrieben 28. Januar 2004 Autor Teilen Geschrieben 28. Januar 2004 Hey leute..... ich finde einen chat in php gut... ok es entsteht viel traffic aber dafür läuft dieser auf herkömmlichen webspace was ein java chat nicht macht wegen laufzeitbeschränkung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
*I C Q* Geschrieben 29. Januar 2004 Teilen Geschrieben 29. Januar 2004 Ich vermute mal, du arbeitest mit PHP und MySQL. Dann wäre die sinnigste Lösung (die kills ja schon angesprochen hat), sich zu dem Chateintrag den User und den Timestamp mit einzutragen. Dann bei einem neuen Eintrag einfach eine Abfrage einbauen, wieviele Posts der User im Zeitintervall gemacht hat. Pseudocode: anfanginterval = jetzt - 30_sekunden; SELECT COUNT(*) as anzahl FROM TABELLE where user='XYZ' and timestamp between anfanginterval AND jetzt; if anzahl < 10 trage_post_ein else gebe_meldung_aus endif Das Knebeln könntest Du lösen, indem Du in eine Usertabelle einen Timestamp "geknebelt" mit einbaust. Wenn der User dann "gefloddet" hat fügst Du den Timestamp ein und fragst bei jedem post ab, ob und wie lange der user schon geknebelt ist: Pseudocode, die zweite: select geknebelt from benutzer where name='XYZ' if jetzt-geknebelt >= 30_Minuten fuehre_die_flood_pruefung_von_oben_aus else gebe_meldung_aus_dass_der_user_geknebelt_ist endif Vielleicht hilft's ja! ICQ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.