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

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: 4.10.2025 - 18:30