Antyflood na chacie
Witam.
Dość ważą rzeczą jest zabezpieczenie swojego systemu chatu/shoutboxa jakimś skryptem, który by zapobiegał floodowaniu.
Można by zrobić tabelę w bazie z zapisywanym ostatnim czasem wpisu z danego konta i jeśli różnica obecnego czasu a tamtego jest mniejsza niż 30sekund blokować wysłanie wiadomości, jednak to niezbyt mi sie podoba.
Zdecydowałem się na sesje (co prawda gracz może się wylogować i zalogować ponownie, wtedy wszystkie dane sesyjne są niszczone, ale komu by się to chciało).
To do roboty
Podczas wysyłania wiadomości robimy tak:
if(time() - $_SESSION['last_msg']30){ echo 'Odczekaj 30 sekund przed wysłaniem wiadomości'; }else{ $_SESSION['last_msg'] = time(); //Tutaj reszta kodu odpowiedzialna za wysyłanie wiadomości }
Nie było to trudne.
Ja w TGO jeszcze zastosowałem sprawdzanie:
$last_user_msg = mysql_fetch_array(mysql_query("SELECT `tresc` FROM `tabela_z_chatem` WHERE `nick`='$zmienna_z_nickiem' ORDER BY `id` DESC LIMIT 0, 1")); if(trim($msg)==$last_user_msg[0]){ echo 'Nie spamuj.'; }

Ciekawy blog. Zaglądam tu zawsze kiedy widzę Twoją sygne na muhack.pl ;p
Nie ma to jak 524 posty z reklamą, nie?