хттп запросы на пхп

Discussion in 'PHP' started by littletics, 23 Apr 2011.

  1. littletics

    littletics New Member

    Joined:
    22 Apr 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    предположим есть скрипт на котором можно авторизоватся только с одним логином и паролем. авторизация идет по куки.
    сказали что нужно 2 ака для авторизаций. для этого надо ядро системы менять. подумал решить следующим путем:

    1) создаю обычный скрипт авторизаций в другом домене который требует ввести логин и пароль
    2) при правильном вводе логина и паролья скрипт посылает хттп запросы к главному скрипту, проходит авторизацию и получает куки
    3) создаю куки для доменного имени где находится главный скрипт и перенаправляю пользовотелья на главную

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

    пожалуйста помогите, есть ли другие варианты.
     
  2. Kusto

    Kusto Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    ты точно сам понимаеш о чем написал???
    Ниодин кодер не взял бы такое ТЗ , еслиб оно было описанно по этому алгоритму- потому , что если вкратце, нифига непонятно, или это стеб??? Или это не php????

    а эта строка вообще шедевр

     
    #2 Kusto, 23 Apr 2011
    Last edited: 23 Apr 2011
  3. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    PHP:
    if($_POST['login'] == 'admin' && $_POST['pass'] == 'pass_admina')
        
    setcookie('user''admin'time()+60*60*24);
    PHP:
    if(($_POST['login'] == 'admin' && $_POST['pass'] == 'pass_admina') ||
        (
    $_POST['login'] == 'vtoroi_admin' && $_POST['pass'] == 'pass_vtorogo_admina'))
        
    setcookie('user''admin'time()+60*60*24);
    Какой вопрос, такой ответ :rolleyes:
     
  4. littletics

    littletics New Member

    Joined:
    22 Apr 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    да я понимаю что спрашиваю.

    привожу пример:

    допустим у меня есть аккаунт на маил.ру, и скрипт, который сидит на моем сервере, автоматизирует весь процесс авторизаций. при вызове http://mysite.tld/mail.ru.auth.php идет перенаравление на страницу маил.ру с авторизованным моим аккаунтом.
     
  5. Kusto

    Kusto Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    и что тут сложного? Дело в том что алгоритм- это не ****, чем он короче- тем лучше..., обьясните мне что сложного не писать кучу кода через курл, а провести GET авторизацию?? ну например

    http://games.mail.ru/mru/auth/login?login=МЫЛО&password=ПАРОЛЬ&foreign=

    Можеш ифреймом подгрузить,

    и отсюда сделать перенаправление на настоящую страницу майлру- или снова не так понял и всетаки без правки ядра не обойтись? :)
     
    #5 Kusto, 23 Apr 2011
    Last edited: 23 Apr 2011
  6. dpe_x

    dpe_x Elder - Старейшина

    Joined:
    8 Sep 2010
    Messages:
    155
    Likes Received:
    35
    Reputations:
    14
    ага

    вот тебе код

    Code:
    <?
    $URL=""http://win.mail.ru/cgi-bin/auth?Login=ЛОГИН&Password=ПАРОЛЛЬ&Domain=ДОМЕН&level=1"";
    header ("Location: $URL");
    ?>
    
     
  7. littletics

    littletics New Member

    Joined:
    22 Apr 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    вы правильно поняли, но я забыл сказать что это должно быть пост запрос.
     
    #7 littletics, 23 Apr 2011
    Last edited: 23 Apr 2011
  8. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    PHP:
    <?php
    echo(<<<TEXT
    <body onload="document.getElementById('mailru').submit();">
    <form id='mailru' method="POST" action="http://win.mail.ru/cgi-bin/auth">
        <input type="hidden" name="Login" value="asdf@mail.ru">
        <input type="hidden" name="Password" value="passsssss">
    </form>
    TEXT
    );
    ?>
     
    #8 M_script, 23 Apr 2011
    Last edited: 23 Apr 2011
    1 person likes this.
  9. littletics

    littletics New Member

    Joined:
    22 Apr 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    огромное и вам и всем спасибо. вот если бы знал жс.

    интересно а как это был бы с курл?
     
  10. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Через курл никак, потому что он выполняется на стороне сервера, а авторизацию должен проходить клиент.
    Можно конечно сделать анонимайзер, но лучше не будем об этом =)
     
  11. littletics

    littletics New Member

    Joined:
    22 Apr 2011
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    да понятно, я так и думал.

    я знаю что такое анонимайзер.
     
  12. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    товарисчи, если уж извращаетесь то извращайтесь красиво

    PHP:
    $trolls=array('admin'=>'lol','odmin'=>'troll');
    if(isset(
    $_POST['troll'])&&array_key_exists($_POST['troll'],$trolls)&&in_array($_POST['lol'],$trolls)) setcookie('lol','troll',time()+3600);
    else
    die(
    'lol');

    плохим вещами учите..
     
  13. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Насчет первого кода повторю еще раз - "какой вопрос, такой ответ".
    Во втором что не так?
     
  14. Kusto

    Kusto Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    Почему-же никак- здесь надо определиться с задачей которая должна выполняться- если суть программы та, что после авторизации с заданной страницей продолжает работать сервер- то CURL - самое то, ну а если нам надо выполнить что-нибудь от имени клиентской машины ну например CSRF то ясен пень лучше использовать примеры изложенные выше- короче пока ТЗ находится в тумане- здесь ответа однозначного дать нельзя, т к если попросить 10 прогеров решить данную- конкретную задачу- то каждый из них пойдет своим путем- и не будет ниодного похожего решения
     
  15. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    выводить чистый html через php. это так очевидно..
     
  16. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Чакэ, для кого-то может быть не очевидно.

    Kusto, с задачей определились:
     
    #16 M_script, 23 Apr 2011
    Last edited: 23 Apr 2011