Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] $_SERVER, proxy
kaczors
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 11.05.2009

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


Witam.
Jestem w trakcie próby stworzenia weryfikatora serwerów proxy, nie opierającego się na bazie znanych adresów ip serwerów proxy. Jak wiadomo należy bacznie prześledzić zmienne środowiskowe, które powinny nas doprowadzić do najbardziej prawdopodobnego wyniku.

Wzoruję się na takich stronach:

http://www.jockersoft.com/english/ipaddress.php
oraz
http://www.proxyserverprivacy.com/adv-free...-detector.shtml

Napotykam takie oto problemy: Na tych stronach odczytują:

Connection: keep-alive
Keep-Alive: 300

Pierwsza z informacji teoretycznie powinna się znaleźć w zmiennej 'HTTP_CONNECTION', lecz w moim skrypcie nie istnieje taka zmienna.
Czy widoczność tej zmiennej zależy od serwera na którym stoi skrypt??

Także po wejściu na te strony mam:

Proxy HTTP_X_FORWARDED Variable: (none)

Proxy HTTP_VIA Variable: (none)

Proxy HTTP_PROXY_CONNECTION: (none)

Gdzie w moim skrypcie te zmienne mają pewne wartości(dwie pierwsze)

print_r( $_SERVER );

Wynik działania powyższego kodu na moim serwerze

Array
(
[PATH] => /usr/local/bin:/usr/bin:/bin
[UNIQUE_ID] => SggzBldi3pgAAHLJkHsAAAA0
[REAL_HOST] => 193.239.80.21
[HTTP_HOST] => engineer.ovh.org
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_ACCEPT_LANGUAGE] => pl,en-us;q=0.7,en;q=0.3
[HTTP_ACCEPT_ENCODING] => gzip,deflate
[HTTP_ACCEPT_CHARSET] => ISO-8859-2,utf-8;q=0.7,*;q=0.7
[HTTP_COOKIE] => SESS47f8c6f823598c9dba1c59fb62aeb1bb=f71f56b5e2896bb7eec0132c8f3457ef
[HTTP_CACHE_CONTROL] => max-age=0
[HTTP_MAX_FORWARDS] => 10
[HTTP_VIA] => 1.1 127.0.0.1
[HTTP_X_FORWARDED_FOR] => 193.239.80.21
[HTTP_X_FORWARDED_HOST] => engineer.ovh.org
[HTTP_X_FORWARDED_SERVER] => 127.0.0.1
[SERVER_SIGNATURE] =>
[SERVER_SOFTWARE] => Apache
[SERVER_NAME] => engineer.ovh.org
[SERVER_ADDR] => 87.98.222.152
[SERVER_PORT] => 80
[REMOTE_ADDR] => 193.239.80.21
[DOCUMENT_ROOT] => /home/e/n/g/engineer/www
[SERVER_ADMIN] => postmaster@engineer.ovh.org
[SCRIPT_FILENAME] => /home/e/n/g/engineer/www/index.php
[REMOTE_PORT] => 55217
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] =>
[REQUEST_URI] => /
[SCRIPT_NAME] => /index.php
[UID] => 105826
[PHP_SELF] => /index.php
[REQUEST_TIME] => 1242051334
[argv] => Array
(
[0] => index.php
)

[argc] => 1
)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kaczors
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 11.05.2009

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


Wszystko ładnie pięknie, ale niezupełnie o takie działanie skryptu mi chodzi.
Moim celem jest napisanie czegoś co rozpozna czy ktoś kto się łączy z naszą stroną używa proxy bądź nie, a jeżeli używa to w jakiego jest ono rodzaju.
Twoje rozwiązanie służy do testowania konkretnego proxy, możliwe że nie wyraziłem się jasno , ale nie o takie działanie mi chodzi.

Dlatego więc męczę te zmienne serwera ;] I dalej nie wiem jak pozyskać hosta jego typ połączenia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Myślę, że ze sparsowaniem nagłówka bym sobie poradził, więc giełda nie jest dla mnie rozwiązaniem, tam się niczego nie nauczę (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Wróćmy do problemów

W pierwszym poście wylistowałem wartości zmiennych $SERVER i tak np mamy:
HTTP_X_FORWARDED FOR: 193.239.80.21 (czyli moje ip)

a po wejściu na inną przykładową stronę sprawdzającą te zmienne jest (http://www.thisisarecording.com/proxy_check/):
HTTP_X_FORWARDED FOR: (none)

Skąd ta różnica, przecież te zmienne zależą od hosta i powinny być w obu przypadkach te same!?

Generalnie mam zamiar zbadać nagłówki (co jest naiwne) + zbadać typ połączenia + baza whois (zauważyłem że dla proxy nie podaje większości informacji tylko nazwa hosta). Powiązując to wszystko ze sobą mam nadzieję że z dosyć wysokim prawdopodobieństwem odgadnę czy ktoś się łączy przez proxy czy nie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 05:43