Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: "Выход в мир" через PHP с разных IP :-) Как?...
цитата
15/09/07 в 18:02
 Dantist
Гуглю замучил... ))) Может бредовая идея.. )))
На сервер прикручено полтора десятка IPшников...

Как скриптом на PHP, при обращении к какому-нить сайту, типа: Код:
$St = file_get_contents("http://url.com/"); //или тоже самое через сокеты


сделать так, чтоб он на выходе юзал разные IPшники..
Т.е. грубо говоря в логах url.com будет видно, что его запрашивали не с одного IP, а с многих разных... )

Надеюсь понятно объяснил...

P.S. Получить список доступных на сервере IPшников - не представляется сложным.. Также разметстиь какие-то доп "модули", повесив их на разные IP сревера, и запрашивая с них - тоже можно... Но геморно ))

Как всегда, всех, кто постит по теме "обливаю" рейтингом.. )))
цитата
15/09/07 в 18:07
 Kn
может просто прокси сделать?
цитата
15/09/07 в 18:09
 Adulter
Ответа на твой вопрос не знаю, но лично я делаю так.

$proxy = "localhost:8080"; //<-optional proxy IP

if($proxy){
curl_setopt($ch, CURLOPT_PROXY, "$proxy");
}

Вместо localhost вставь проксю с портом. Ну и всё, что нужно для работы curl.

з.ы. У меня локалхост, т.к. я запускаю с локальной машины, localhost:8080 бросает запрос на удобную прогу - Proxomitron. Она мне помогает заголовки исследовать + проксю в ней врубать можно.
цитата
15/09/07 в 18:17
 Dantist
Kn писал:
может просто прокси сделать?


Я об этом думал, но написать забыл....
Дык это squid надо поднимать на машине?... И на каждый IP Вешать?...
Ухх.
цитата
15/09/07 в 18:19
 Dantist
Adulter, +3, но забыл написать - у меня под FreeBSD всё...

Прокси - это да.. Выход...

Но может все таки средствами PHP все это можно организовать?...
** Хотя вероятность то, что это реально - крайне невелика ((
цитата
15/09/07 в 18:58
 xreload
Средствами php это сделать нельзя.
цитата
15/09/07 в 22:50
 pelmen


чииво? =)
это конечно самый простой ответ но и самый ограниченный =)


Все возможно, работа через сокеты, более подробно тут
цитата
15/09/07 в 22:55
 Xen
Ну либо повесить апач на несколько интерфейсов с разными айпишниками, тогда скрипты не придется переписывать.
цитата
15/09/07 в 23:25
 xreload
pelmen писал:
чииво? =)
это конечно самый простой ответ но и самый ограниченный =)


Все возможно, работа через сокеты, более подробно тут


Ограниченый это в данном случае ты, если ты не знаешь что модуль php и интерпритатор работают не через сокеты, то я лишь могу тебе посочувствовать.
цитата
15/09/07 в 23:52
 onn
всё намного проще:

curl_setopt($ch, CURLOPT_INTERFACE,'один_из_айпих_сервака');

и коннект пойдёт с этого айпи
цитата
16/09/07 в 00:07
 bgporno
Все просто, прикручиваеш к скприту сокс клас, благо есть хорошие в паблике или же, если удобнее, HTTP/s клас

подобные классы можеш найти на пхп класес точка орг

Удачи!
цитата
16/09/07 в 00:41
 Dantist
onn писал:
curl_setopt($ch, CURLOPT_INTERFACE,'один_из_айпих_сервака');

+4! ))))
Все генитальное - просто! smail102.gif
цитата
25/09/07 в 18:14
 idk2045
Или через CURL, как написали,
или при ручной работе с сокетами командой socket_bind.
А узнать список можно просто, если знаешь хотя бы подсетку.
Просто в цикле биндишься на все ипы подсетки и запоминаешь успешные бинды.
цитата
03/10/07 в 11:44
 Codemaster
Код:
<?
$host = "google.com";

$outgoingIp = "10.12.12.61"; // вот тут пишем IP с которого выходим

$socket = socket_create (AF_INET, SOCK_STREAM, getprotobyname("TCP"));
socket_bind ($socket, $outgoingIp);
socket_connect ($socket, gethostbyname($host), 80);
$request = "GET / HTTP/1.1\r\n"
. "Host: $host\r\n"
. "Connection: Close\r\n".
"\r\n";
socket_write ($socket, $request);
$rcvd = socket_read ($socket, 100000);
die ($rcvd);
?>


Эта страница в полной версии