-
PHP
(
http://www.devprotalk.com/forumdisplay.php?f=9)
$_SERVER['REMOTE_ADDR'] prazan ?
Da li vam se nekada desilo da $_SERVER['REMOTE_ADDR'] ne vrati IP klijenta ?
Trazio sam slicne diskusije ali nigde nisam nasao konkretno objasnjenje kako i zasto dolazi do ovakvog ponasanja ...
Ovo se desilo na jednom projektu koji radi na istoj platformi gde radi jos 200 drugih web sajtova (bez problema). Tj desilo se samo jednom, prilikom zapisa odredjenih varijabli koje prosledjuje korisnik POST metodom a $_SERVER varijable se serijalizuju i upisuju na isti nacin.
|
Nenad Vasić |
30. 11. 2009. 21:55 |
Da li skriptu pokrećeš preko CLI-a?
|
robi-bobi |
30. 11. 2009. 22:28 |
^ osim ovoga, jedino drugo objashnjenje kojeg se trenutno secam je 'prepravljeni' tcp paket (ne znam kako je na srpskom :) )
|
Skripta se pokrece preko weba, klasicna forma za komentare. Korisnik je dosao sa SBB mreze ...
|
ivanhoe |
01. 12. 2009. 09:04 |
meni se jedanput apache (ili mozda samo mod_php) zaglupeo i nije setovao $_SERVER uopste, posle restarta proradilo, ali nisam do sad video da samo jednom coveku ne prikaze IP, a ostalima radi..
|
Da, to je cudno ... desilo se samo jednom ... mislim da je posle toga sa iste adrese sve radilo ok.
|
LiquidBrain |
01. 12. 2009. 10:31 |
Ne znash IP a znash da je doso sa SBB-a? WTF?
|
Nisam rekao da ne znam IP vec da ga nije bilo u $_SERVER['REMOTE_ADDR'].
|
bojand |
03. 03. 2010. 07:20 |
Kod mene na Veratu za sve upite $_SERVER['REMOTE_ADDR']. mi daje 127,0,0,1. WTF?
|
ivanhoe |
03. 03. 2010. 11:01 |
koriste reverzni proxy koji prosledjuje upit ka serveru, pa ti dobijes njegov IP, a ne korisnikov..
|
bojand |
05. 03. 2010. 22:49 |
PHP kôd:
$ip = $_SERVER['HTTP_X_REAL_IP'];
Ali mi zato sa ovim daje ispravan IP.
|
mangia |
07. 03. 2010. 02:27 |
PHP kôd:
if (getenv(HTTP_X_FORWARDED_FOR)) {
$ipaddress = getenv(HTTP_X_FORWARDED_FOR);
} else {
$ipaddress = getenv(REMOTE_ADDR); }
|
bluesman |
07. 03. 2010. 11:53 |
Ako nekome treba, evo šta ja koristim, nisam primetio problem do sada:
PHP kôd:
function getRealIP () { // get real IP even if proxy is used if (!empty($_SERVER['HTTP_CLIENT_IP']) && strcasecmp($_SERVER['HTTP_CLIENT_IP'], 'unknown')) { return trim($_SERVER['HTTP_CLIENT_IP']); } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], 'unknown')) { return trim($_SERVER['HTTP_X_FORWARDED_FOR']); } elseif (!empty($_SERVER['HTTP_X_FORWARDED']) && strcasecmp($_SERVER['HTTP_X_FORWARDED'], 'unknown')) { return trim($_SERVER['HTTP_X_FORWARDED']); } elseif (!empty($_SERVER['HTTP_FORWARDED']) && strcasecmp($_SERVER['HTTP_FORWARDED'], 'unknown')) { return trim($_SERVER['HTTP_FORWARDED']); } return trim($_SERVER['REMOTE_ADDR']); }
|
MaxMagnus |
15. 03. 2010. 11:05 |
Citat:
Originalno napisao mangia
(Napišite 81216)
PHP kôd:
if (getenv(HTTP_X_FORWARDED_FOR)) { $ipaddress = getenv(HTTP_X_FORWARDED_FOR); } else { $ipaddress = getenv(REMOTE_ADDR); }
|
kod mog šefa sa za ovako nešto kleči na kukuruzima :D
$ipaddress = getenv(HTTP_X_FORWARDED_FOR) ? getenv(HTTP_X_FORWARDED_FOR) : getenv(REMOTE_ADDR);
ps: ovo je samo šala, unapred se izvinjavam ako se neko naljuti :)
|
srdjevic |
15. 03. 2010. 14:56 |
Citat:
Originalno napisao MaxMagnus
(Napišite 81605)
kod mog šefa sa za ovako nešto kleči na kukuruzima :D
|
Zato što stringovi nisu quote-ovani, ili šta? :1074:
|
mangia |
15. 03. 2010. 15:30 |
^^^ ne nego zato što je pisan "dugi" oblik if petlje...
sve sa zagradama....
a tu i nema nešto baš stringova za quote-vanje... :)
|
jablan |
15. 03. 2010. 16:30 |
Off Topic: 1...2...3...4...5...6...7...8...9...;)
|
MaxMagnus |
15. 03. 2010. 17:11 |
ja sam lepo napisao da je u pitanju šala, pa evo i da ponovim... Šalio sam se :)
|
HTTP_X_FORWARDED_FOR moze sadrzati vise ip adresa.
|
bluesman |
15. 03. 2010. 17:58 |
Može :)
|
srdjevic |
15. 03. 2010. 18:45 |
Citat:
Originalno napisao mangia
(Napišite 81618)
a tu i nema nešto baš stringova za quote-vanje... :)
|
Pa da, nema stringova... Imate konstante tamo i jedan i drugi... :1064:
Citat:
Originalno napisao jablan
(Napišite 81623)
Off Topic: 1...2...3...4...5...6...7...8...9...;)
|
:1042:
Citat:
Originalno napisao miks
(Napišite 81628)
HTTP_X_FORWARDED_FOR moze sadrzati vise ip adresa.
|
Bluesmanu tamo fali (da imamo potpuno):
Kôd:
$ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$ip = trim($ips[0]);
Citat:
Originalno napisao bluesman
(Napišite 81632)
Može :)
|
Jel' samo ovaj X header može da sadrži više adresa, ili ima još koji? :1007:
|
Za ostale (header-e) nisam siguran, ili barem nisam nasao nikakvu dokumentaciju o tome.
REMOTE_ADDR je jedina realna ip adresa, barem koliko sam ja saznao, jer pretstavlja adresu host-a od koga je dosao zahtev (izuzimajuci slucaj u ovom postu), bilo da je to klijent ili proksi.
Sve ostale adrese (kao i druge vrednosti) koje se dobijaju iz header-a se lako mogu promeniti, tako da ih treba uzimati sa rezervom.
|
Vreme je GMT +2. Trenutno vreme je 15:43. |
|
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.