Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Uodpornienie na przeładowania
bartek_fm
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 8.08.2007

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


Witam! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Mam licznik, który zlicza odwiedziny danego dnia. Nie jest on jednak odporny na przeładownia strony. Czy jest jakaś możliwość wpisania do niego kodu, który uodporni go na odświerzanie? Oto kod:

  1. <?php
  2.  
  3. $dzien=date("l");
  4. $dzien=strtolower($dzien);
  5. $path="dni/";
  6. $confirm=$HTTP_COOKIE_VARS["licz"];
  7.  
  8. $_temp=Array( # pomocnicza tablica
  9. "monday" => "sunday",
  10. "thuesday" => "monday",
  11. "wednesday" => "thuesday",
  12. "thursday" => "wednesday",
  13. "friday" => "thursday",
  14. "saturday" => "friday",
  15. "sunday" => "saturday"
  16. );
  17.  
  18. for($i=0;$i<=$dzien;$i++){
  19.  
  20. if(($dzien==TRUE)&&(!@file_exists($path."$dzien.txt"))&&(!isset($confirm)))
  21. {
  22.  
  23.  
  24.  
  25. $ustaw=@fopen($path."$dzien.txt","w");
  26. chmod($path."$dzien.txt",0666);
  27. fclose($ustaw);
  28.  
  29.  $poniedzialek=@file($path."$dzien.txt");
  30.  $stan=$poniedzialek[0]+1;
  31.  $poniedzialek=@fopen($path."$dzien.txt","w");
  32.  flock($poniedzialek,2);
  33.  fwrite($poniedzialek,$stan);
  34.  flock($poniedzialek,3);
  35.  fclose($poniedzialek);
  36.  @unlink($path."$_temp[$dzien].txt");
  37.  @setcookie("licz","odslona",time()+3600*24);
  38.  
  39.  
  40. }
  41. elseif(($dzien==TRUE)&&(@file_exists($path."$dzien.txt"))&&(!isset($confirm)))
  42. {
  43.  
  44.  $poniedzialek=@file($path."$dzien.txt");
  45.  $stan=$poniedzialek[0]+1;
  46.  $poniedzialek=@fopen($path."$dzien.txt","w");
  47.  flock($poniedzialek,2);
  48.  fwrite($poniedzialek,$stan);
  49.  flock($poniedzialek,3);
  50.  @fclose($poniedzialek);
  51.  @setcookie("licz","odslona",time()+3600*24);
  52.  
  53.  
  54. }
  55. elseif(($dzien==TRUE)&&(@file_exists($path."$dzien.txt"))&& isset($confirm))
  56. {
  57.  
  58.  
  59. $plik=@fopen($path."$dzien.txt","r");
  60. flock($plik, 1);
  61. $line=chop(trim(fgets($plik,150)));
  62. flock($plik, 3);
  63. @fclose($plik);
  64.  
  65.  
  66. }
  67. }
  68.  
  69. ?>


Z góry dziękuję! Bartek
Go to the top of the page
+Quote Post

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: 23.08.2025 - 21:33