• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sprawdzanie jakie urządzenie i z jakiej przeglądarki użytkownik wchodzi na moją stronę

Object Storage Arubacloud
0 głosów
177 wizyt
pytanie zadane 10 czerwca 2020 w PHP przez Tine Użytkownik (690 p.)

Witam wszystkich, robię swoją pierwszą stronę. Zrobiłem już prosty kod który sprawdza adres zewnętrzny ip użytkownika który wchodzi na stronę chce jeszcze dodać pare rzeczy, ale nią bardzo wiem jak to zrobić na razie mam coś takiego:

<?php
$adres_ip = $_SERVER['REMOTE_ADDR'];
$plik = fopen("ip.txt", "a");
flock($plik, 2);
fwrite($plik, $adres_ip."\n");
flock($plik, 3);
fclose($plik);
?>


Zapisuje on adres zewnętrzny ip użytkownika do pliku o nazwie ip.txt który wszedł na stronę w nowej linii. Moje pytanie jest następujące. Czy jest możliwość dodania godziny o której dany użytkownik wchodzi na stronę? Tak aby godzina była zapisywania przed adresem zewnętrznym ip w nowej linii i czy jest możliwość zmodyfikowana kodu php tak aby zapisywał tylko te adresy zewnętrzne ip które nie są już zapisane ( tak aby się nie powtarzało i zapobiegało spamowi mam tu na myśli odświeżanie strony i bezsenyzapisywanie tego samego adresu zewnętrznego ip użytkownika)

1 odpowiedź

+1 głos
odpowiedź 10 czerwca 2020 przez Landu Stary wyjadacz (11,880 p.)

Datę połączenia możesz po prostu pobrać poprzez zapisywanie timestampa podczas dodawania danych do pliku. Jest od tego funkcja time()

Tutaj masz jak sprawdzić przeglądarkę klienta:
https://www.php.net/manual/en/function.get-browser.php

Jedyne co możesz zrobić aby zapobiec powtarzaniu IP, to pobierać dane z pliku i sprawdzać czy jest tam dany adres IP. Możesz też np. zapisywać cookie w którym określisz czy user był już na stronie. Problem jest tylko taki, że jak zmieni przeglądarkę to znowu zapiszesz jego IP.

P. S. Takie rzeczy raczej powinno się robić poprzez bazę danych MySQL.

komentarz 10 czerwca 2020 przez Tine Użytkownik (690 p.)

Rozumiem, ale jestem zielony w PHP i nie bardzo wiem gdzie umieścić funkcje time() w tym kodzie:




<?php
$adres_ip = $_SERVER['REMOTE_ADDR'];
$plik = fopen("ip.txt", "a");
flock($plik, 2);
fwrite($plik, $adres_ip."\n");
flock($plik, 3);
fclose($plik);
?>

Mógłbyś go tutaj wsadzić tak abym mógł przeanalizować dlaczego akurat tak? Zależy mi na tym aby każdy czas był zapisywany przed adresem zewnętrznym ip w pliku ip.txt

Np. 

14:26:35 192.x.x.x

Dzięki za pomoc! <3

 

komentarz 10 czerwca 2020 przez Landu Stary wyjadacz (11,880 p.)

Funkcja time() zwraca ci unix timestamp:
https://pl.wikipedia.org/wiki/Czas_uniksowy

Możesz zapisywać to w formie:

1591820563 192.168.x.x

Zaletą timestampa jest to, że możesz przekonwertować go na dokładną datę godzina, dzień, miesiąc, rok.

 


<?php
$adres_ip = $_SERVER['REMOTE_ADDR'];
// Zapisujesz obecny timestamp do zmiennej
$timestamp = time();
$plik = fopen("ip.txt", "a");
flock($plik, 2);
//Zapisujesz go do pliku obok adresu
fwrite($plik, $timestamp . " " . $adres_ip . "\n");
flock($plik, 3);
fclose($plik);
?>

 

Podobne pytania

0 głosów
2 odpowiedzi 158 wizyt
pytanie zadane 3 września 2018 w PHP przez BetBet Użytkownik (550 p.)
0 głosów
1 odpowiedź 181 wizyt
pytanie zadane 12 lipca 2018 w PHP przez Riddick Bywalec (2,600 p.)
0 głosów
2 odpowiedzi 135 wizyt
pytanie zadane 20 listopada 2018 w JavaScript przez Arjen Użytkownik (860 p.)

92,632 zapytań

141,500 odpowiedzi

319,879 komentarzy

62,013 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...