Skrypt pownien nie wykonywać tego co jest w warunku
($message && flood($_SESSION['last_session_request'])==FALSE && $znaki<=500 && $znaki !== 0 && $wulgar==FALSE) jeśli skrypt zostanie wykonany więcej razy niż 1 w czasie 30 sekund (zabezpieczenie przed floodowaniem). Niestety tak się nie dzieje, nie wiem już co może być nie tak. Za każdym razem jak testuje w odstępie czasu 6-7 sekund to wywala mi komunikat "Komentarz dodano!" i komentarz zostaje dodany.
<?
function flood() {
if($_SESSION['last_session_request'] > time() - 30
){
echo "<div style=\"color:red\">Aby dodać następny komentarz musisz odczekać 30 sekund!</div>"; }
$_SESSION['last_session_request'] = time(); }
$id = $_GET[id];
$message=$_POST['message'];
$name=$_POST['name'];
", " ", $message);
", " ", $name);
if ($name == FALSE) {$name="Anonim";}
include "../profilter.php";
$message = iconv("utf-8","ISO-8859-2",$message);
$name = iconv("utf-8","ISO-8859-2",$name);
if ($message && flood($_SESSION['last_session_request'])==FALSE && $znaki<=500 && $znaki !== 0 && $wulgar==FALSE)
{
$date = date("Y-m-d H:i"); $message = "$name|$date|$message\n";
#$fp = fopen ("comment/$id.comment", "a");
$fp = fopen ("comment/" . $id . ".comment", "a"); echo "<div style='color:green'>Komentarz dodano!</div>"; }
else {
if ($znaki>=500
) {echo "<div style='color:red'>Twój komentarz musi mieć mniej niż 500 znaków!</div>";}
else if ($znaki==0
) { echo "<div style='color:red'>Musisz wpisać jakiś tekst!</div>";}
echo "<div style='color:red'>$wulgar</div>";
echo "<FORM id=\"form\" method=\"post\" action=\"comments.php?id=".$id."\"> <b>Imię/nick:</b><BR><INPUT name=\"name\" type=\"text\" size=\"25\" maxlength=\"15\"><BR>
<DIV id=\"iloscZnakow\"><b>Twój komentarz:</b> (wpisanych znaków 0<script>document.write(parseInt(document.forms[0].opis.value.length))</SCRIPT>/500)</DIV>
<TEXTAREA onFocus=\"iloscZnakow(this)\" onBlur=\"skoncz(this)\" style=\"overflow:auto\" name=\"message\" rows=\"5\" cols=\"45\">$message</TEXTAREA>
</FORM><button onclick=\"SendRequestForm()\">Dodaj komentarz</button>";
}
?>