Ciao a tutti...
Ho un dubbio atroce...
Sto implementando un controllo anti-flood dinamico anche lato client, e (limitandoci all'aspetto PHP) ho fatto una funzione così siffatta da includere in ogni pagina (purtroppo non posso usare i metatag perchè c'è un template gestito da un altro script...
Codice PHP:
function antiflood()
{
$check_actv = mysql_query("SELECT * FROM `flood` WHERE `uid` = 1 LIMIT 0, 1"); // Questo è per controllare l'ultima attività utile dell'utente
$activity = mysql_fetch_array($check_actv);
if(time() - $activity['action'] < 20) //Controlla che passino almeno 20 secondi tra un'azione e la successiva
{
return TRUE; //torna allo script
exit;
}
else
{
echo "Attenzione: bisogna attendere almeno 20 secondi tra un'inserimento e il successivo!\n";
echo "Resta su questa pagina, tra 20 secondi la tua richiesta verrà processata automaticamente.";
echo "window.setTimeout(\"document.location.href='inseriscimessaggio.php\",\"21000\");";
return FALSE; //torna allo script
exit;
}
}
L'unico problema è che usando questo metodo perdo tutte le variabili POST del messaggio (trattasi di forum).. Dunque pensavo di fare riscrivere in dei campi <input hidden> tutte le variabili...
L'array $_POST è globale anche all'interno delle funzioni, giusto? funziona quello che ho pensato? (lo tratterei con list())
Grazie in anticipo!