Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> TOR вместо прокси
slobotsky.denis  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Водитель НЛО
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 67
Пользователь №: 40455
На форуме: 2 года, 1 месяц, 10 дней
Карма: 6




Многие из вас знают, что такое TOR. Некоторые даже пользуются.
Кому-то в работе может потребоваться скрыть реальный IP сервера, на котором выполняется php-скрипт, при запросах к сторонним серверам. С делать это можно с помощью прокси-серверов, которые в большом количестве можно найти в интернете. Проблема в том, что за хороший прокси-сервер, который не "умрёт" через несколько минут использования, придётся заплатить.
Тут на помощь приходит TOR, который можно с лёгкостью использовать в качестве прокси-сервера в своих программах. Более того, TOR позволяет в любой момент сменить текущий IP-адрес на совершенно другой.

Для начала работы необходимо установить TOR на свой сервер. Инструкция по установке можно найти на оффициальном сайте.

Важно! Если у вас Ubuntu и вы решили воспользоваться встроенным менеджером пакетов (apt-get install tor) сделайте это, как написанно тут.

Установив и запустив TOR, можно приступать к написанию скрипта. Простейший выглядит так:

function get($url,$proxy) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch, CURLOPT_PROXY, "$proxy");
$ss = curl_exec($ch);
curl_close($ch);
return $ss;
}



$prox = 'localhost:9050';
$a = get('internet.yandex.ru',$prox);
echo $a;

Код взят отсюда

Ещё одно важное замечание: TOR это SOCKS прокси. Поэтому надо не забыть выставить curl-опцию:
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);



Теперь настроим возможность смены ip:
- Устанавливаем уже готовую либу.
- Открываем настройки тора (/etc/tor/torcc)
- Раскомментируем строки

...
ControlPort 9051
...
HashedControlPassword 16:..
CookieAuthentication 0

- Обратитеть внимение, что значение CookieAuthentication надо выставить в 0
- генерируем новый пароль. В консоле:
tor --hash-password my_password

- заменяем в конфиге значение HashedControlPassword на сгенерированное
- перезапускаем tor
/etc/init.d/tor restart

- в php-скрипт добавляем код:

$tc = new TorControl\TorControl(array(
'password' => 'my_password',
));


$tc->connect();
$tc->authenticate();

// именно эта строка отсылает тору команду на смену ip
$tc->executeCommand('SIGNAL NEWNYM');

$tc->quit();


Теперь при каждом выполнении php-скрипта IP будет меняться. Правда, на сколько я понял, очень часто менть не получится. Необходим промежуток в несколько секунд.


--------------------
PHP: The Right Way
Бесплатное обучение Symfony2

Tox: 55BB67DE54B1CB14F8C37B4F3AED64E6A45922988D22F85EF75039751F26F05460664D978F5C
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
ektalion  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Спасибо, ubuntu 12.04 LTS php 5.4 - полет нормальный user posted image
Скрытый текст
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
mvg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 474
Пользователь №: 37895
На форуме: 3 года, 4 месяца, 9 дней
Карма: 22




А зачем?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
slobotsky.denis  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Водитель НЛО
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 67
Пользователь №: 40455
На форуме: 2 года, 1 месяц, 10 дней
Карма: 6




mvg
чтобы на проксях сэкономить


--------------------
PHP: The Right Way
Бесплатное обучение Symfony2

Tox: 55BB67DE54B1CB14F8C37B4F3AED64E6A45922988D22F85EF75039751F26F05460664D978F5C
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Gradar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 42774
На форуме: 8 месяцев, 8 дней
Карма:




Цитата (slobotsky.denis @ 31.01.2015 - 09:19)
чтобы на проксях сэкономить

Если бы у него еще скорость работы была нормальная, а то такой отклик как будто интернет по аналоговому модему gsm.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11788
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 15 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 15 дней


Цитата (Gradar @ 13.04.2016 - 01:25)
Цитата (slobotsky.denis @ 31.01.2015 - 09:19)
чтобы на проксях сэкономить

Если бы у него еще скорость работы была нормальная, а то такой отклик как будто интернет по аналоговому модему gsm.

user posted image


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса