Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]inkrementacja w pliku - czy bezpiecznie
Kuba707
post 13.04.2014, 22:41:20
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 20.03.2010

Ostrzeżenie: (0%)
-----


  1. if(!isset($_COOKIE['licznikoweciastko']) && !strstr($_SERVER['HTTP_REFERER'], $webname)) {
  2. $f = fopen($filename, "r");
  3. $text = fread($f, filesize($filename));
  4. $wartosclicznika = explode(";", $text);
  5. fclose($f);
  6. $f = fopen($filename, "w");
  7. $wartosclicznika[0]++;
  8. fwrite($f, $wartosclicznika[0].';');
  9. fclose($f);
  10. setcookie("licznikoweciastko", "zaliczono", 0);
  11. }


To skrypt do liczenia odwiedzin. Czy widzicie tu jakąś lukę? Po 27 tysiącach inkrementacji jakieś ... nie pamiętam ile, ale powiedzmy z 12 razy w ciągu tych 27k inkrementacji w ciągu 4 lat licznik potrafił się zresetować (dobrze że mam historie każdego wejścia i jestem w stanie to za każdym razem zliczyć tongue.gif).

Ten post edytował Kuba707 13.04.2014, 22:45:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
redeemer
post 13.04.2014, 22:51:20
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Konkurencyjność.

Wchodzi dwóch użytkowników prawie w tym samym czasie, zaraz po tym jak u jednego wykonuje się kod $f=fopen($filename, "w") czyszcząc zawartość pliku, drugi użytkownik
czyta zawartość tego pliku i co dostaje wink.gif ?. Spróboj flock lub użyj bazy danych.

Ps. Po co dodawać ten średnik i robić explode?


--------------------
Go to the top of the page
+Quote Post
Kuba707
post 13.04.2014, 22:56:45
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 20.03.2010

Ostrzeżenie: (0%)
-----


Tak chyba zrobię z tym flock.

Po co dodawać? Pisałem to dawno i sugerowałem się poradnikiem tongue.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:41