Авторизация на стороннем домене

Тема в разделе "PHP", создана пользователем memento, 26 апр 2012.

Модераторы: latteo
  1. memento

    memento Создатель

    Регистр.:
    24 окт 2011
    Сообщения:
    30
    Симпатии:
    4
    Ребята, подскажите, реально ли реализовать авторизацию с одного сайта на другой?
    Капчи нет, простая форма.

    Цель: после авторизации брать данные с некоторых страниц, будучи уже авторизированным.
    Копал в сторону CURL. Или плохо копал, или стоит защита на целевом сайте.
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    634
    Симпатии:
    1.407
    Вопрос:
    Ответ: реально.

    Курл один из вариантов и самый подходящий для новичков... видимо плохо копал.

    P.S. Старайся более детально описывать возникшую проблему, приводить свой код, указывать целевой сайт... тогда будешь получать более обширные ответы, которые тебе помогут.
     
    memento нравится это.
  3. memento

    memento Создатель

    Регистр.:
    24 окт 2011
    Сообщения:
    30
    Симпатии:
    4
    Всё же сам нашел решение с помощью CURL.
    Еще сразу встает вопрос: если на целевой странице есть форма, которая выдает некоторый контент с помощью ajax'а, единственный способ это сделать такой же запрос как и в ajax?
    Думаю ещё попробовать эту библиотеку: Перейти по ссылке
    Если есть инфа по этой теме, был бы крайне благодарен за ресурсы.

    И какой есть ещё вариант (если не CURL)? Метод формы POST, так что file_get_contents не подойдёт.
     
  4. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    634
    Симпатии:
    1.407
    Неужели?
    PHP:
    //строка с POST данными
    $data='a=1&b=2';
     
    $context stream_context_create(
    array(
            
    'http'=>array(
                            
    'header' => "User-Agent: Brauzer 2/0\r\nConnection: Close\r\n\r\n",
                            
    'method' => 'POST',
                            
    'content' => $data             
                        
    )
        )
    );
     
    $contents file_get_contents("http://site.ru"false ,$context);
    echo 
    $contents;
    Я же сказал выше, что способы есть, но не стоит смотреть в их сторону, пока не наберешься опыта хотя бы с курлом.

    P.S. А есть еще такая страшная вещь как сокеты... и они могут многое...
     
    memento нравится это.
  5. memento

    memento Создатель

    Регистр.:
    24 окт 2011
    Сообщения:
    30
    Симпатии:
    4
    С этим ясно, благодарствую.
    С формой, вздобренной аяксом придётся делать как я думал? (пример: 2 даты, от и до. При сабмите получаем табличку с данными).

    Насчёт сокетов думал, но потом решил не думать :)
     
  6. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    634
    Симпатии:
    1.407
    Самый простой и элементарный способ...
    взять сниффер, к примеру fiddler, поснифать запросы, которые отправляются на целевой сайт при получении нужного контента, затем путо взять из сниффера все отправляемые заголовки и данные, при необходимости откорректировать их и отправить уже со своего скрипта при помощи cURL.
    Все, больше тут ничего думать не надо.
     
    memento нравится это.
  7. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Сниффер использую Proxomitron.
    Сокеты - зло но цука матерое зло.
    snoopy - боже да когда же о нем забудут ?! Тоны либ на курле есть !
    К стати если работать напрямую со снифером то на сокетах работать куда удобне чем на cURL там по сути копипаст заголовков и немного правки и все. А так по сути все это вода... Как сказал арбайтен бери и делай :D А остальное по ходу придет.
     
    memento нравится это.
  8. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Поддерживаю предыдущего оратора, в сокеты пока не лезь, не нужны они тебе, cUrl-а, будет достаточна.

    snoopy также можно использовать но для тебя он будет на первых порах тяжеловат, да и зачем его использовать, я сним работал для того что бы просто ознакомиться да поковырять исходники егошние, сейчас острой необходимости в его использовании нет.

    Что касаемо аякса то здесь однозначно смотреть снифер и делать все что показывает он.
     
    memento нравится это.