[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Proxy через PHP
eternalko
Как узнать по максимуму про проксю юзера?
Заранее спасибо.



Спустя 7 минут, 18 секунд (21.07.2006 - 21:42) vasa_c написал(а):
eternalko, в php?
Вывести phpinfo().
Все что там есть — все твое.
Чего нет, того нет.

Спустя 1 час, 19 минут, 11 секунд (21.07.2006 - 23:02) zilogo написал(а):
phpinfo() ?

Все, что можно узнать находится в $_SERVER. В REMOTE_ADDR его прокся, если она конечно скрывает его IP

Спустя 3 минуты, 57 секунд (21.07.2006 - 23:05) zilogo написал(а):
Кстати может кто дать адрес постоянно обновляемой базы RBL прокси, желательно в текстовом формате.

Спустя 10 часов, 42 минуты, 58 секунд (22.07.2006 - 09:48) vasa_c написал(а):
QUOTE
Все, что можно узнать находится в $_SERVER

Вот в phpinfo() и $_SERVER есть и все остальное.

Спустя 3 часа, 17 минут, 22 секунды (22.07.2006 - 13:06) zilogo написал(а):
На сколько я понял вопрос: чел коннектится к скрипту через прокси и задача - узнать все о прокси этого чела.
vasa_c, если мы оба видим этот вопрос одинаково - объясни пож. что там из phpinfo() можно получить о прокси коннектящегося чела ?

Спустя 12 минут, 2 секунды (22.07.2006 - 13:18) vasa_c написал(а):
zilogo, а фиг его знает. Я с прокси особенно не заморачивался.
Можно получить IP-прокси и IP чела, если прокси не анонимный.

Я о том, что phpinfo() выводит все предустановленные переменные. Если что-то интересно, нужно вывести его и поискать там. Все что там найдешь, уже потом можно использовать.

Спустя 3 часа, 18 минут, 35 секунд (22.07.2006 - 16:36) eternalko написал(а):
Мой FTP сервак временно упал, а у себя не хочу поднимать апач и не могу пока проверить.
vasa_c , мне кажется, что в phpinfo() дфига инфы про НАШ хост. Тобиш скрипта.
А скрипта я и сам знаю, мой же :)
Нет нужна пркся юзера.
$_SERVER['REMOTE_ADDR'] я так понял показывает IP юзера. Тока какую? Прокси сервера или родную? Скорее Прокси.
$_SERVER['REMOTE_HOST'] Должен по логике по уму давть имя сервера прокси юзера.
Попробую и напишу, что и как получилось.

Спустя 18 минут, 9 секунд (22.07.2006 - 16:55) eternalko написал(а):
HTTP_PROXY_CONNECTION 
HTTP_CLIENT_IP
HTTP_X_FORWARDED_FOR 
HTTP_X_FORWARDED_HOST
HTTP_X_FORWARDED_SERVER


Ну вот, нашел еще такие штуки. В документации их нет. Откуда люди только то достают....
Они *цензура*оже помогут выследить проксю юзера.
Надеюсь кому-то это поможет.
Когда узнаю их действия, напишу о них.

Спустя 7 минут, 47 секунд (22.07.2006 - 17:02) vasa_c написал(а):

Спустя 2 минуты, 5 секунд (22.07.2006 - 17:04) vasa_c написал(а):
QUOTE
$_SERVER['REMOTE_ADDR'] я так понял показывает IP юзера. Тока какую? Прокси сервера или родную? Скорее Прокси.
$_SERVER['REMOTE_HOST'] Должен по логике  по уму давть имя сервера прокси юзера.
Попробую и напишу, что и как получилось.

REMOTE_ADDR — IP того, кто коннектится с сервером, т.е. в случае с прокси - это ip проки.
X-FORWARDED-FOR — это заголовок в котором прокси может указать IP пользователя, а может и не указать.

Спустя 15 минут, 51 секунда (22.07.2006 - 17:20) eternalko написал(а):
Немного понятней. Думаю мне пока хватит.
Немного бардак как и меня в комнате, но ничего :)
А вот по правда, откуда люди узнают про недокументированый функции?

Спустя 10 минут (22.07.2006 - 17:30) vasa_c написал(а):
Наверное из более подробной документации ))

Спустя 5 минут, 55 секунд (22.07.2006 - 17:36) eternalko написал(а):
И дают нам пережованое ;)

Спустя 17 дней, 17 часов, 30 минут, 45 секунд (10.08.2006 - 11:07) Drachoon написал(а):
Иногда возникает необходимость определить в пхп скрипте, что за прокси использует пользователь, для блокировки нежелательных пользователей, использующих анонимные прокси. Представленный ниже код и позволяет это сделать. Единственное замечание - тр*цензура*ется библиотека пхп, работающая с удаленными хостами (curl).

// phpcheckah - php check anonymous host by Paolo Ardoino [ paolo.ardoino@gmail.com ]
// function arguments:
// $ah is an array of triples (ip,port,type):
// ip: ip address of the socks/proxy
// port: port of the socks/proxy
// type: s5(for socks5), s4(fyor socks4),
// p(for proxy)
// $url is the url to check using socks/proxy; this function
// tries to download the source of this url
// $needle is the string to find in the $url source, so
// if the string is found the socks/proxy works.
// Example:
// $ah = array(array("ip"=>"192.168.0.2","port"=>"9050","type"=>"s5"),
// array("ip"=>"192.168.0.3","port"=>"9050","type"=>"s5"));
// curlCheckAnonHosts($ah, "http://www.google.it", "groups.google");

function curlCheckAnonHosts($ah, $url, $needle) {
$html = "";
for($i = 0; $i < sizeof($ah); $i++) {> echo "Checking Anonymous host ".$ah[$i]["ip"].":".$ah[$i]["port
"]."n";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $GLOBALS["agent"]);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
if($referer != "")
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_PROXY, $ah[$i]["ip"].":".$ah["port"]);
if($ah["type"] == "s4")
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
else if($ah["type"] == "s5")
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$html = curl_exec($ch);
if(curl_errno($ch) || $html == "" || strpos($html, $needle) ===
false) {
echo "Not workingn";
} else {
echo "Found working Anonymous Host type ".$ah[$i]["type
"]." [ ".$ah[$i]["ip"].":".$ah[$i]["port"]." ]n";
}
curl_close ($ch);
unset($ch);
}
}

дожёвывайте это я на какомто познавательном саите нашёл непомню где.

Спустя 5 минут, 35 секунд (10.08.2006 - 11:13) zilogo написал(а):
С платными прокси думаю не прокатит. Откуда кстати мы знаем порт прокси ? Все популярные подряд чекать - хм.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.