За последние 24 часа нас посетили 18175 программистов и 1589 роботов. Сейчас ищут 994 программиста ...

Как авторизоваться на сайте? через cURL

Тема в разделе "PHP для новичков", создана пользователем Юрий Юрков, 16 дек 2007.

  1. Юрий Юрков

    Юрий Юрков Активный пользователь

    С нами с:
    25 окт 2006
    Сообщения:
    16
    Симпатии:
    0
    Есть сайт с формой авторизации (логин и пароль). Как мне авторизоваться на нём и получить данные с помощью скрипта?
    Сделал вот такой код:
    Код (Text):
    1.  
    2. <?
    3. $url = "http://localhost/login/login.php";
    4. $user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/tmp/cookies/admin.txt';
    5.  
    6. $ch = curl_init ($url);
    7. curl_setopt($ch, CURLOPT_URL,$url);
    8. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    9. curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
    10. curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
    11. curl_setopt($ch, CURLOPT_POST,1);
    12. curl_setopt($ch, CURLOPT_POSTFIELDS,"send=send&login=log_name&pswd=pass_text");
    13. echo curl_exec($ch);
    14.  
    15. curl_close($ch);
    16. ?>
    Скрипт авторизуется и куки записываются в admin.txt, но как работать с записанной сессией? Т.е. я авторизуюсь, но работать с системой дальше не могу, т.к. нет сессии.
    Помогите разобраться.
     
  2. TROODON

    TROODON Активный пользователь

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
  3. Юрий Юрков

    Юрий Юрков Активный пользователь

    С нами с:
    25 окт 2006
    Сообщения:
    16
    Симпатии:
    0
    Файл login.php принимает POST данные, сверяет логин и пароль и если всё верно запускает сессию и делает редирект на закрытую страницу. Мне нужно авторизоваться при помощи cURL. Авторизоваться получается, а использовать записанную в admin.txt сессию нет.
     
  4. TROODON

    TROODON Активный пользователь

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
    а если номер сессии хранить в куках?
     
  5. Юрий Юрков

    Юрий Юрков Активный пользователь

    С нами с:
    25 окт 2006
    Сообщения:
    16
    Симпатии:
    0
    Так она и должна храниться в admin.txt, скрипт (код выше) её не читает, не знаю почему
     
  6. TROODON

    TROODON Активный пользователь

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
    Юрий Юрков
    Ты проверил скрипт у тебя создал САМ админ тхт?
     
  7. Юрий Юрков

    Юрий Юрков Активный пользователь

    С нами с:
    25 окт 2006
    Сообщения:
    16
    Симпатии:
    0
    Файл создан и в него записывается что-то типа такого:
    localhost FALSE / FALSE 0 PHPSESSID 7481967049e95b0de90cec2aa77c54d0
     
  8. TROODON

    TROODON Активный пользователь

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
    Юрий Юрков
    чесно говоря я так не пробовал....а если хранить имя пасс в обычных куках?

    PHP:
    1.  
    2. setcookie("Name", $_SESSION['name'],time()+60*60*24*30*12);
    3. setcookie("Pass", $_SESSION['password'],time()+60*60*24*30*12);
    4.  
     
  9. Юрий Юрков

    Юрий Юрков Активный пользователь

    С нами с:
    25 окт 2006
    Сообщения:
    16
    Симпатии:
    0
    Суть вопроса не в том. Мне нужно вот что: Допустим есть сайт с закрытым доступом. Мне нужно с помощью curl зайти на него, взять защищеные данные и добавить себе на сайт (например).
     
  10. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    т.е. скомуниздить?
     
  11. Юрий Юрков

    Юрий Юрков Активный пользователь

    С нами с:
    25 окт 2006
    Сообщения:
    16
    Симпатии:
    0
    Не совсем :)
    У меня есть логин и пароль, просто сайт на японском языке и пользователям будет не совсем удобно там ориентироваться.