Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> unikalni odwiedzający stronę, czyli o tym jak pozbyć się robotów ?
mkoszar
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 10.09.2020

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


Sprawa dość ciekawa. Na stronie index i podstronach umieściłem kawałek takiego kodu:

  1. $ip = $_SERVER["REMOTE_ADDR"];
  2. $zapytanie = "INSERT INTO `licznik` (`id`, `ip`, `data`, `strona`) VALUES (NULL, '$ip', NOW(), 'index')";
  3. mysqli_query($db, $zapytanie);


Rejestruję tym samym zdarzenie otwarcia/pobrania danej strony/podstrony.
Wszystko fajnie, ale w liście dostaje zdarzenia z IP pochodzące od Googolebot, OVH, SAS, ColoCrossing-USA, Amazon itp. Takie dane są nie istotne.

Wymyśliłem, że zrobię tablicę, bo cześć tych IP się cyklicznie powtarza a jak dojdą nowe to się douzupełni tablicę i jako tako będzie

  1. $lista_ip=array("54.36.149.96"=>"OVH SAS-FRANCJA","66.249.79.110"=>"Googlebot-USA","66.249.79.106"=>"Googlebot-USA","107.172.228.78"=>"ColoCrossing-USA");


I teraz w liście którą pobieram z bazy

  1. while ($row_ip = mysqli_fetch_row($result_ip)) {
  2. /* row_ip[1] = IP*/
  3. /* row_ip[2] = data*/
  4. /* row_ip[3] = strona*/}


chciałbym sprawdzić czy zmienna np. $ip_z_bazy = $row[1];
znajduje się w tablicy $lista_ip=array(...);
a jeśli tak to zapisz jako np. 66.249.79.110_Googlebot-USA
no a jak nie występuje to po prostu 52.161.150.183 i tyle...

tym samym po jakimś czasie wyfiltruje te wejścia, które nie będę brał pod uwagę jako informacja o wejściach przez żywych ludzi (IMG:style_emoticons/default/smile.gif)

Jest taka funkcja
array_values() returns all the values from the array and indexes the array numerically.
tylko że ona mi znowu poda tablicę ze wszystkimi wartościami kluczy - chyba nie przydatne

in_array($row_ip[1],$lista_ip,) Returns true if needle is found in the array, false otherwise.
też nie specjalnie, bo uzyskam jedynie info, że tak występuje w tablicy albo nie.

Może jest jakiś inny sposób ? (IMG:style_emoticons/default/sekret.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LowiczakPL
post
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


Takich IP będą TYSIĄCE, które kilka razy dziennie trzeba będzie dodawać do wykluczenia. IP to ostateczność.

Jeśli chcesz się pozbyć robotów to identyfikuj je po imieniu. Zazwyczaj roboty się przedstawiają, jednak korzystają z SETEK adresów IP, zamęczysz się na śmierć po IP.

Przeglądarka też się przedstawia, można tez po przeglądarce logować odwiedziny.
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: 17.10.2025 - 13:13