Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] REMOTE_ADDR podaje adres strony a nie klienta
skalcik
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.02.2014

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


Witam,

Uzywam REMOTE_ADDR do uzyskania adresu IP uzytkownika.
Dodaje do bazy danych kazde przejscie z podstrony na podstrone.
O ile przy pierwszym wejsciu na strone adres IP jest podawany prawidlowo, tak przy kolejnym podaje adres IP strony/serwera.

Na poczatku funkcja dzialala prawidlowo po jakims czasie przestala, w miedzy czasie bawilem sie kodem strony ale nie tym zwiazanym z robieniem logow.
Moj kod wyglada tak:

  1. if($_SESSION['uzytkownik']){
  2. $luse = $_SESSION['uzytkownik'];
  3. } else {
  4. $luse = 'gosc';
  5. }
  6. $datpka=date("Y-m-d H:i:s");
  7. $skand = $_SERVER['HTTP_REFERER'];
  8. $aip = $_SERVER['REMOTE_ADDR'];
  9. $strona = $_SERVER['REQUEST_URI'];
  10. mysql_query('INSERT INTO `sledz` VALUES ("NULL", "'.$aip.'", "'.$datpka.'", "'.$strona.'", "'.$skand.'", "'.$luse.'") ');


Prosze o pomoc w rozwiazaniu problemu jak sprawic aby adres IP klienta byl zapisywany prawidlowo do logow.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


REMOTE_ADDR zwraca Ci ip z którego był request, poprzez jakieś dziwne ustawienia, może Ci czasem zwrócić ip serwera.

Spróbuj tak:
  1. $ip = $_SERVER['REMOTE_ADDR'];
  2. if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
  3. $ip = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
  4. }



edit: tu masz jeszcze artykuł po Polsku dotyczący pobierania ip: http://www.capaciouscore.pl/artykuly/jak-o...ajacego-strone/

Ten post edytował Damonsson 21.02.2014, 14:15:40
Go to the top of the page
+Quote Post
skalcik
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.02.2014

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


Dziekuje za odzew i pomoc, niestety nie dziala to u mnie. Wczesniej probowalem tej metody w troche innym zapisie i nie daje opisanego efektu.
Tymczasowo obszedlem to zapisujac w cookies adres ip ktory wylapuje prawidlowo podczas pierwszego wejscia, nastepnie jesli uzytkownik zdecyduje sie na rejestracje w serwisie pobieram IP z cookies, nie jest to najlepsze rozwiazanie ale do czasu znalezienia lepszego sie sprawdza.
Zaraz zapoznam sie z artykulem.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 22:30