Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zebezpieczenie przed floodowaniem z wykorzystaniem sesji
bleze
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 1.01.2007

Ostrzeżenie: (10%)
X----


Nie znam się za bardzo na sesjach dlatego proszę Was o pomoc.
Jak za pomocą sesji, time() oraz IP zablokować wysyłanie formularzy przez jednego użytkownika w krótszym czasie niż 30 sekund?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bleze
post
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 1.01.2007

Ostrzeżenie: (10%)
X----


a.php:
  1. <FORM id="form" method="post" action="comments.php?id=139">
  2. <b>Imię/nick:</b><BR><INPUT name="name" type="text" size="25" maxlength="15"><BR>
  3. <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>
  4.  
  5. <TEXTAREA onFocus="iloscZnakow(this)" onBlur="skoncz(this)" style="overflow:auto" name="message" rows="5" cols="45"></TEXTAREA>
  6. </FORM><button onclick="SendRequestForm()">Dodaj komentarz</button>


comment.php:
  1. <?
  2. $id = $_GET[id];
  3. $message=$_POST['message'];
  4. $name=$_POST['name'];
  5. $message = htmlspecialchars($message, ENT_QUOTES);
  6. $name = htmlspecialchars($name, ENT_QUOTES);
  7. $message = str_replace("r\n", " ", $message);
  8. $name = str_replace("r\n", " ", $name);
  9. $message = str_replace("
  10. ", " ", $message);
  11. $name = str_replace("
  12. ", " ", $name);
  13. if ($name == FALSE) {$name="Anonim";}
  14.  
  15. $message = iconv("utf-8","ISO-8859-2",$message);
  16. $name = iconv("utf-8","ISO-8859-2",$name);
  17.  
  18. $znaki = strlen($message);
  19. if ($znaki<=500 && $znaki !== 0) {
  20.  
  21. if ($message)  
  22.    {
  23.    $date = date("Y-m-d H:i");  
  24.    $message = "$name|$date|$message\n";  
  25.    #$fp = fopen ("comment/$id.comment", "a");  
  26.    $fp = fopen ("comment/" . $id . ".comment", "a");
  27.    fwrite ($fp, $message);  
  28.    fclose ($fp);
  29. echo "<div style='color:green'>Komentarz dodano!</div>";
  30.    }
  31. }
  32. else {
  33.  
  34.    if ($znaki>=500) {echo "<div style='color:red'>Twój komentarz musi mieć mniej niż 500 znaków!</div>";}
  35.  
  36.    else { echo "<div style='color:red'>Musisz wpisać jakiś tekst!</div>";}
  37.  
  38.    echo "<FORM id=\"form\" method=\"post\" action=\"comments.php?id=".$id."\">  
  39. <b>Imię/nick:</b><BR><INPUT name=\"name\" type=\"text\" size=\"25\" maxlength=\"15\"><BR>  
  40. <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>
  41. <TEXTAREA onFocus=\"iloscZnakow(this)\" onBlur=\"skoncz(this)\" style=\"overflow:auto\" name=\"message\" rows=\"5\" cols=\"45\"></TEXTAREA>
  42. </FORM><button onclick=\"SendRequestForm()\">Dodaj komentarz</button>";
  43. }
  44. ?>


Ten post edytował bleze 26.12.2008, 16:33:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 31.12.2025 - 21:21