Авторизироваться на другом сайте и выпарсить инфу (на PHP)

12
Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#11

:) :) :) че такие все злые...

"Vulcan-Bit - лучшая партнерка в сети" (http://vulcan-bit.com?invite=artem_kozirev) KMA.BIZ - Партнерка с крутым конвертом и отчислениями в долларах. Лить! (http://kma.biz)
IL
На сайте с 20.04.2007
Offline
435
#12
че такие все злые...

Так сразу сказали как надо - ты ж возмущаешься, мол нет, не так, я лучше знаю :D

В принципе, можешь без CURL-а обойтись, через сокеты HTTP запросы отправлять

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#13


<?php
$url = "http://site.ru/index.php?rrrdgd=ffsf/gdgg";
$ch = curl_init(); // инициализируем сессию curl
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile");
curl_setopt($ch, CURLOPT_URL,$url); // указываем URL, куда отправлять POST-запрос
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// разрешаем перенаправление
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // указываем, что результат запроса следует передать в переменную, а не вывести на экран
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // таймаут соединения
curl_setopt($ch, CURLOPT_POST, 1); // указываем, что данные надо передать именно методом POST
curl_setopt($ch, CURLOPT_POSTFIELDS, "postdatehere"); // добавляем данные POST-запроса
$result = curl_exec($ch); // выполняем запрос

print_r(curl_getinfo($ch));
echo "\n\ncURL errno:" .curl_errno($ch);
echo "\n\ncURL error:" . curl_error($ch);

curl_close($ch); // завершаем сессию
?>

Все работает, но как только авторизуется, то белый экран, http code:302 отдает. Может дело в том, что при авторизации на самом сайте руками, после того как успешно введены логин и пароль, редиректиться на внутреннюю страницу с другим урл?

В общем тут я стопорнулся =(

siv1987
На сайте с 02.04.2009
Offline
427
#14

Если получили сессию авторизации то никуда дальше переходить и ничего смотреть не надо. Далее делайте запрос к своим закрытым страница, естественно если правильно скрипт настроили, по этому куску кода у меня есть некоторые сомнения. Вообщем почитайте еще документации и смотрите примеры

Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#15

Все работает, осталось только добавить запрос:

$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
curl_setopt($ch, CURLOPT_URL, "http://site.ru");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);
curl_close($ch);

Теперь вопрос безопасности:

При авторизации передаются логин и пароль. Их могут скомуниздить? Как себя защитить?

Заранее, спасибо большое!

И что значат в УРЛе %2 и %5 ? Чем их заменить можно в коде, чтобы выглядело приятнее глазу?

siv1987
На сайте с 02.04.2009
Offline
427
#16
При авторизации передаются логин и пароль. Их могут скомуниздить?

А разве при авторизации из браузера вы не передаете логин и пароль? Их в скомуниздить не могут?

IL
На сайте с 20.04.2007
Offline
435
#17
И что значат в УРЛе %2 и %5 ? Чем их заменить можно в коде, чтобы выглядело приятнее глазу?

гуглить urlencode.

Если уж очень важна "приятность глазу" - замените константами/переменными.

Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#18

Мужики, ну че такие резкие-дерзкие то все? :) :) :) Я спрашиваю возможно нубские вопросы, но это для того, чтобы подстраховаться. Гораздо хуже будет потом попасть впросак и тогда уже поздно будет их задавать.

Я имел ввиду в самом php коде у меня прописаны логин и пароль. Вот я о чем. Или может мне их в БД кинуть, оттуда вынимать, подставлять в POST запрос и т.д.?

IL
На сайте с 20.04.2007
Offline
435
#19
Я имел ввиду в самом php коде у меня прописаны логин и пароль. Вот я о чем. Или может мне их в БД кинуть, оттуда вынимать, подставлять в POST запрос и т.д.?

А логин и пароль для доступа к БД не в коде прописаны?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий