Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Curl-авторизация [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 [2] 3 »   

> Описание: Сайт Вконтакте
Viper
Отправлено: 20 Апреля, 2010 - 07:51:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




chaynyk есть химзашита для авторизация от cURL-а
с этого момента поподробней Улыбка


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 20 Апреля, 2010 - 13:44:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




chaynyk пишет:
Да и вообще, есть химзашита для авторизация от cURL-а, что никогда ни зайдешь.
Использование JS-скриптов для механизма авторизации с помощью Iframe/AJAX действительно да очень серьезную защиту (В некоторых случаях даже серьезнее различных капчей - которые можно выудить из кода и передать на обработку) - но все что можно сделать из браузера можно сделать с помощью sockets (В частности с помощью CURL) - ведь если вы передаете данные и авторизируетесь на каком-то сайте (А проверить HTTP-запросы можно с помощью Proxymitron к примеру) то можно сделать это и роботом
Мелкий пишет:
Недоступен DNS-сервер. Запишите вместо доменного адреса сайта его ip
Тогда надо указывать вручную HTTP-хост - потому что на одном IP может быть много сайтом с разными виртуальными хостами


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Stierus Супермодератор
Отправлено: 20 Апреля, 2010 - 14:41:08
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




не вдавался в детали про host, но такая авторизация и не может работать Улыбка ... потому что у контатка есть промежуточная, автозаполняющаяся яваскриптом форма, которую тоже надо проходить. подробнее в личке могу отписать (халявы не будет, либо я даю советы, как это делается (придется читать мануалы), либо оплачивается готовый скрипт авторизации)
 
My status
 Top
InviS
Отправлено: 20 Апреля, 2010 - 15:22:07
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Я так думаю, что мне еще рановато для таких скриптов. Может позже сделаю то, что хотел. Пока и времени особо нет. Моей целью не была реклама и спам, просто для себя хотел попробовать авторизоваться и прочитать данные, платить для интереса тоже смысла нет =) Не думаю, что все очень сложно, просто нужно знать технологию всего этого Улыбка
 
 Top
JustUserR
Отправлено: 20 Апреля, 2010 - 16:37:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Stierus пишет:
Не вдавался в детали про host, но такая авторизация и не может работать ... потому что у контатка есть промежуточная, автозаполняющаяся яваскриптом форма, которую тоже надо проходить
Я не был на этом сайте к которому нужно подобрать авторизацию но скажу две вещи - во-первых по протоколу HTTP/1.1 обязательно нужно указывать поле Host для определения конкретного Virtual host - а во-вторых для авторизации с помощью JS недостаточно простого парсера - нужна виртуальная машина JS
InviS пишет:
Не думаю, что все очень сложно, просто нужно знать технологию всего этого
В общем-то да Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
kochan10
Отправлено: 20 Апреля, 2010 - 16:41:54
Post Id


Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




не так уж и сложно такой скрипт сделать. Вот мой пример, тут всё работает (и выуживает из промежуточной формы=)):
PHP:
скопировать код в буфер обмена
  1. function Login(){
  2. $email='';
  3. $pass='';
  4. $ch=curl_init('http://login.vk.com/?act=login');
  5. curl_setopt($ch, CURLOPT_HTTPHEADER, 'Host: vk.com');
  6. curl_setopt($ch, CURLOPT_POST, 1);
  7. curl_setopt($ch, CURLOPT_POSTFIELDS, 'email='.$email.'&pass='.$pass);
  8. curl_setopt($ch, CURLOPT_NOBODY, 0);
  9. curl_setopt($ch, CURLOPT_HEADER, 1);
  10. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  11. $ans=curl_exec($ch);
  12. $text="name='s' id='s' value='";
  13. $pos=strpos($ans,$text);
  14. $pos1=$pos+strlen($text);
  15. $cookie=substr($ans,$pos1,56);
  16. $cookie='remixchk=5; remixsid='.$cookie;
  17. return $cookie;
  18. }

В $cookie идёт SID из промежуточной формы. Это потом и ставится обычно в куку.

(Отредактировано автором: 20 Апреля, 2010 - 16:43:28)

 
 Top
InviS
Отправлено: 20 Апреля, 2010 - 17:03:47
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




kochan10 Спасибо, твоя функция работает, она возвращает куку, которую я так понимаю нужно будет вставлять уже в следующий cURL-запрос к странице vkontakte.ru/friends.php?filter=online к примеру?
Только снова этот гадский Can't resolve host. Как может дома работать, а на сервере нет?
Что у них с DNS?
Могут ли заприщать curl-запросы на другие сервера?
как это проверить?
Как задавать хост, если прописать в curl_init айпишник и как потом передать get параметры? Сразу?

Спасибо всем за терпение и понимание, уже заездил всех, наверно)))
 
 Top
Мелкий Супермодератор
Отправлено: 20 Апреля, 2010 - 17:29:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




InviS пишет:
Могут ли заприщать curl-запросы на другие сервера?

Они их не запрещают, просто у машины, на которой ваш сайт вертится не указан DNS и система не знает, где бы ей спросить, что же за имя такое доменное. Напишите в поддержку хостинга.

InviS пишет:
Как может дома работать, а на сервере нет?

Легко. http серверу не нужен dns для работы.


-----
PostgreSQL DBA
 
 Top
InviS
Отправлено: 20 Апреля, 2010 - 17:34:14
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




А это точно бока хостинга, а не у меня руки кривые? Хостинг забугорный, вряд ли им нужен контакт наш. Другого способа нет? ))
 
 Top
Мелкий Супермодератор
Отправлено: 20 Апреля, 2010 - 19:31:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




ну запросите курлом google.com - 90% вероятности, что ответ будет тем же - невозможно найти хост по имени.

(Отредактировано автором: 20 Апреля, 2010 - 19:33:13)



-----
PostgreSQL DBA
 
 Top
kochan10
Отправлено: 20 Апреля, 2010 - 20:06:03
Post Id


Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




Может стоит попробовать gethostbyname? Покажет ли что нибудь?

InviS, откуда вы узнали про vkontakte.ru/friends.php?filter=online?))
 
 Top
chaynyk
Отправлено: 20 Апреля, 2010 - 20:32:29
Post Id



Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007  
Откуда: MOSCOW


Помог: 0 раз(а)




Viper пишет:
есть химзашита для авторизация от cURL-а
с этого момента поподробней Улыбка

А стоит ли, в отрытую публиковать такие исходники, при этом осознавая последствия рынка пастинга?
JustUserR пишет:
Использование JS-скриптов для механизма авторизации с помощью Iframe/AJAX действительно да очень серьезную защиту

С использование JS-скриптов и PHP совместно, при этом код ужасно короткий и прост до ужаса. Купивший человек(а особенно программер) за хорошую денюшку, будет рвать волосы на голове и кричать, -"Какой я идиот!!!!!". Ха-ха
Мелкий пишет:
ну запросите курлом google.com - 90% вероятности, что ответ будет тем же - невозможно найти хост по имени.

Ну почему, через прокси лекго Подмигивание


-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
InviS
Отправлено: 20 Апреля, 2010 - 22:47:32
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




kochan10, что значит откуда узнал? В строке адреса подсмотрел Улыбка Ну еще подумал Улыбка
По поводу функций gethostbyname и gethostbyaddr:
Вот, что написал в коде:
PHP:
скопировать код в буфер обмена
  1. $host_ip=gethostbyname("login.vk.com");
  2. $host_name=gethostbyaddr($host_ip);
  3. echo "<br />".$host_name." - ".$host_ip;

В итоге дома мне выводит:
CODE (htmlphp):
скопировать код в буфер обмена
  1. srv2-226.vkontakte.ru - 93.186.229.2

а на сервере совсем другое:

Т.е. я так понимаю, что там что-то не работает. А что? В чем может быть причина?
И как дальше с этим работать, к примеру, даже дома. Есть у меня айпи и имя сервера. Куда их в curl записывать? пробовал curl_init($ip.'/?act=login') - не катит ))

(Отредактировано автором: 20 Апреля, 2010 - 22:48:26)

 
 Top
JustUserR
Отправлено: 21 Апреля, 2010 - 13:37:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




chaynyk пишет:
С использование JS-скриптов и PHP совместно, при этом код ужасно короткий и прост до ужаса. Купивший человек(а особенно программер) за хорошую денюшку, будет рвать волосы на голове и кричать, -"Какой я идиот!!!!!".
Вы наверное не поняли о чем именно идет речь - например для авторизации требуется набор Iframe/AJAX-запросов к серверу и при этом на клиенте должны производиться некоторые операции через достаточно сложную библиотеку - конечно готовая JS-виртуальная машина с легкостью это выполнит и вычислит - а вот для парсера это очень сложная задача
InviS пишет:
Т.е. я так понимаю, что там что-то не работает. А что? В чем может быть причина?
Это HTTP/1.1 и в нем должен передаваться не только IP-адрес HTTP-сервера но и поле Host для указания конкретного Virtual Host
kochan10 пишет:
Может стоит попробовать gethostbyname? Покажет ли что нибудь?
Если локально DNS-запросы запрещены то вы можете обратиться к какому-нибудь стороннему сервису по HTTP


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
InviS
Отправлено: 21 Апреля, 2010 - 16:11:18
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




JustUserR пишет:
Это HTTP/1.1 и в нем должен передаваться не только IP-адрес HTTP-сервера но и поле Host для указания конкретного Virtual Host

А как это сделать? Что сделать я уже понял, но как - понятия не имею
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB