Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Liczniki na stronie wariują
Forum PHP.pl > Forum > Przedszkole
lalas
Na niektórych stronach mam zdefiniowane liczniki w takiej opcji, że 1/24h może zwiększyć się o 1. Od jakiegoś roku zaczęły dziać się dziwne rzeczy, jak standardowo było 150-200 wejść na stronę tak teraz bywa, że jest po 30k 60k, a nawet 100k wejść na stronę. Czy ktoś z was wie, jak coś takiego może mieć w ogóle miejsce?


  1. if(!isset($_COOKIE['nazwa_licznika'])){
  2. $godz=24;
  3. setcookie("nazwa_licznika","stan licznika",time()+3600*$godz);
  4. }
  5.  
  6. if(!isset($_COOKIE['nazwa_licznika'])){
  7. // instrukcja do obslugi bazy danych
  8. }
  9.  
  10. //tutaj funkcja obslugujaca baze danych


Praktycznie taka sytuacja jest nie realna (chyba, że faktycznie tyle razy ktoś wyszukał stronę, ale bez jaj to nie pora bajek).
Pewnie jakieś cholerstwo spamujące ma jakieś możliwości, jak to się dzieje?
Może coś lepszego zastosować do tych liczników?
kayman
przefiltruj np przez .htaccess roboty, spayderboty, clavierboty etc. czyli zajrzyj do logów serwera

poza tym jak masz -> jeżeli nie ma cookie to licznik ++ to bardzo źle, prawie każdy z powyższych nie korzysta z cookie
lalas
Cytat(kayman @ 8.01.2016, 22:42:40 ) *
przefiltruj np przez .htaccess roboty, spayderboty, clavierboty etc. czyli zajrzyj do logów serwera

poza tym jak masz -> jeżeli nie ma cookie to licznik ++ to bardzo źle, prawie każdy z powyższych nie korzysta z cookie


Dzięki, zaraz zajrzę na Google na temat robotów, może się coś "wydowiem" ciekawego.

Nie mam opcji licznik++, mam tak, że jeżeli nie ma cookie to deklaruje zmienną php o wartości 1, potam funkcja sprawdza czy istnieje zmienna o takiej wartości, jeżeli tak to inkrementuje licznik w bazie.

ps.
Jak stosujesz coś bardziej praktycznego, możesz zapodać przykładem wink.gif

Właśnie zaglądam teraz w logi i faktycznie dużo tam Yandex, MJ12bot etc., trzeba by je będzie poblokować w hataccessie.
Podobno nie ma regułki na zablokowanie wszystkich robotów oprócz Google i Bing, jak można to zrobić w pliku robots, ale lepsze wyhaczenie konkretnych badbotow niż nic.

ps2.
Tylko teraz jeszcze taka opcja - widzę, że np. wyżej wymienione boty nie mają wpływu na inkrementacje licznika, więc tworzenie regułek blokujące je nic nie da, musiałbym konkretnie wiedzieć jaki bot robi takie numery. Jedynie zablokowanie wszystkiego oprócz Google coś by dało, a takiej formuły na razie nie znalazłem dla htaccessa.

Taka regułka jest poprawna?

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Yandex).*$ [NC]
RewriteRule .* - [F,L]

albo taka lepsza?

SetEnvIfNoCase User-Agent .*google.* search_robot
SetEnvIfNoCase User-Agent .*yahoo.* search_robot
SetEnvIfNoCase User-Agent .*BingBot.* search_robot
SetEnvIfNoCase User-Agent .*Mozilla.* search_robot #przeglądarki

Order Deny,Allow
Deny from All
Allow from env=search_robot
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.