![]() |
![]() |
![]()
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) Gdzie w moim skrypcie te zmienne mają pewne wartości(dwie pierwsze)Proxy HTTP_VIA Variable: (none) Proxy HTTP_PROXY_CONNECTION: (none) 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 ) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Mogę Cię nakierować, ściagnij fajny sniffer http://www.nirsoft.net/utils/smsniff.zip,rzuć okiem jak wyglądają nagłowki rozgrywając dwa scenariusze:
- twoj skrypt laczy sie z serwerem proxy - twoj skrypt jest serwerem i laczysz sie z nim przez przegladarke Zobacz jak wyglada tablica $_SERVER['HTTP_*'] w obu przypadkach. Nie powinno mieć znaczenia ze polaczenie będzie w ramach localhosta, sprawdź. Buforowanie o którym mówisz to nic innego jak cache, opisany w wielu dokumentacjach rówież w języku polskim (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) cachowanie występuje w różnych wersjach, takich co łączą się przy każdym wywołaniu z serwerem zeby sprawdzic czy cos sie zminilo oraz takie które tego nie robily opierając się czasie życia cachu, wszystko zalezy wlasnie od naglowka HTTP. Gdybym to ja robił skrypt określający szybkość serwera proxy, nie zerkałbym w superglobalne $_SERVER. Zamiast tego lepiej połączyć się z docelowym proxy i ręcznie stworzyć nagłowek HTTP a następnie sparsować odpowiedź serwera proxy ;p ( /* Pod uwage w ostatecznym wyniku wiąć długość nagłowka HTTP */ ) sprawdzić jak proxy zadziała przy różnych scenariuszach, z cachem, bez cachu, z duzym plikem, z malym plikiem. Dokumentacje HTTP masz chociażby na wikipedii, to na prawde nie jest trudne ;p Jeśli masz problem z napisaniem skryptu który odpowiednie sparsuje nagłowek HTTP, zapraszam na gielde (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , (to doslownie 2 wyrażenie ragularne na krzyż) Chętnie skrobne coś takiego w ramach rozrywki za równowartość 1 piwa marki Lech Premium (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Mam nadzieje że wraziłem się nie bardzo nie jasno. Pytaj dalej (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 06:02 |