=/= Detektovanje proxy-a =/= _ 2008-12-07 17:01:31 _ Kao sto svi znamo ne postoji idealno resenje za detektovanje proxy-a, tj za odredjivanje da li je korisnik dosao sa svoje prave IP adrese ili je koristio neki servis za anonimni surf. Ali, postoje resenja koja u nekim slucajevima mogu da pomognu: 1. Provera zaglavlja HTTP zahteva, i trazenje stavki koje su specificne za proxy servise: HTTP_X_FORWARDED_FOR, HTTP_X_FORWARDED, HTTP_FORWARDED, HTTP_PROXY_AGENT, HTTP_VIA, HTTP_PROXY_CONNECTION i HTTP_CLIENT_IP. Mana ove tehnike je sto postoje proxy serveri koji ne salju ova zaglavlja. 2. Provera otvorenih portova na klijentovoj masini. Mozemo proveriti da li su otvoreni portovi koje obicno koriste proxy servisi kao sto su: 80, 8080 i 3128. Mana ove tehnike je u tome sto neki od ovih portova mogu biti otvoreni u druge svrhe, npr. web interfejs rutera. Zatim, postoje proxy servisi koji ne koriste standarne portove, kao i mogucnost detektovanje ove akcije kao napada. 3. Postavljanje kolacica (Cookie) na klijentovoj masini sa podacima o IP adresi, koje kasnije mozemo da uporedjujemo sa ostalima u bazi. Mana je sto korisnik moze doci sa dinamicne IP adrese, u ovom slucaju morali bi napraviti logiku za proveranje IP opsega. Ili, najjednostavnije moze obrisati kolacice. U svakom slucaju kombinacijom ovih metoda mozemo pronaci manje iskusne korisnike koji zele iz nekog razloga da ostanu anonimni na nekom forumu, blogu i slicnim lokacijama. Da bi olaksao ovu situaciju napisao sam clasu koja sadrzi sva tri pomenuta metoda: proxyCheck. Klasa sadrzi osnovne metode koje sam opisao, i mozete ih kombinovati u zavisnosti od potreba. Ako imate jos neko zanimljivo resenje, slobodno podelite sa ostalima ... Naravno, ne racunamo u zanimljiva resenja koriscenje javnih servisa poput: MaxMind ili Samair.ru ;)