Авторизация на mail.ru без ведома пользоваеля

Discussion in 'Песочница' started by sergei_petrovish, 26 Jan 2016.

  1. sergei_petrovish

    sergei_petrovish New Member

    Joined:
    24 Jan 2016
    Messages:
    31
    Likes Received:
    3
    Reputations:
    1
    Нужно чтобы пользователь вошел на мой сайт и незаметно авторизовался на мейле с моими логином и паролем. Думал 1)в iframe засунуть, но мейл не открывается во фреймах,2)через пост авторизоватся, но запрос не проходит из-за CORS ( который не пропускает кросдоменные запросы) 3) переделал пост в гет
    HTML:
    https://auth.mail.ru/cgi-bin/auth?Domain=$domain&Login=xxxxx&Password=yyyy
    и вставил как картинку
    Code:
    <img src="https://auth.mail.ru/cgi-bin/auth?Domain=$domain&Login=xxx&Password=yyyy" </img>
    - "плохая" картинка на сайте отображается, но авторизаия не происходит. Посоветуйте что нибудь пожалуйста.
     
    #1 sergei_petrovish, 26 Jan 2016
    Last edited: 26 Jan 2016
  2. sergei_petrovish

    sergei_petrovish New Member

    Joined:
    24 Jan 2016
    Messages:
    31
    Likes Received:
    3
    Reputations:
    1
    Есть мsсль авторизовать через апи, где нужен только секретный ключ, как в VK .
     
  3. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,399
    Likes Received:
    883
    Reputations:
    859
    _________________________
  4. sergei_petrovish

    sergei_petrovish New Member

    Joined:
    24 Jan 2016
    Messages:
    31
    Likes Received:
    3
    Reputations:
    1
    Спасибо, я вчера просмотрел апи, там незаметно авторизовать не получится получится. Гет или Пост запрос при переходе на мой сайт будет идеально,
     
  5. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,399
    Likes Received:
    883
    Reputations:
    859
    Так в чем проблема через курл это сделать? не понимаю...
     
    _________________________
  6. sergei_petrovish

    sergei_petrovish New Member

    Joined:
    24 Jan 2016
    Messages:
    31
    Likes Received:
    3
    Reputations:
    1
    Такой код для автоматической отправки из вашего сайта, когда пользователь перейдет по ссылке его перенаправит на авторизаию
    HTML:
    <form id="login-form" method="post" action="https://auth.mail.ru/cgi-bin/auth">
     
      <input name="FailPage" value="https://connect.mail.ru/oauth/authorize?response_type=code&amp;client_id=737165&amp;sig=631e9ae1f2012ab821e1d55f08560608&amp;redirect_uri=https%3A%2F%2Fсайт на который авторизуемся%2Flogin%2Fmail_ru&amp;fail=1" type="hidden">
      <input name="Domain" value="mail.ru" type="hidden">
      <input name="Login" value="логин" type="hidden">
      <input name="Password" value="пароль" type="hidden">
    </form><script>document.getElementsByTagName('form')[0].submit();</script>

    В этом коде идет POST запрос, который безупречно срабатывает, если слать его из браузера , но как только облачаю его в форму автоотправки на другом домене , он не срабатывает. В заголовках нет записи CORS . Даже в емуляторе другого домена он работает , а вот после загрузки на хостинг не хочет, уже не знаю что делать.
     
  7. sergei_petrovish

    sergei_petrovish New Member

    Joined:
    24 Jan 2016
    Messages:
    31
    Likes Received:
    3
    Reputations:
    1
    Через курл ? что вы имеете ввиду ?
     
  8. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,399
    Likes Received:
    883
    Reputations:
    859
    Выдержка кода одного из моих скриптов для работы с ВК, принцип работы тот же что вам и нужен.
    сама функция curl'a:
    PHP:
    function curl($url=''$post=''$referer=''$proxy='')
    {
            
    $cl curl_init();
        
    curl_setopt($clCURLOPT_URL$url);
        
    curl_setopt($clCURLOPT_RETURNTRANSFER,1);
        
    curl_setopt($clCURLOPT_HEADER0); 
        
    curl_setopt($clCURLOPT_SSL_VERIFYPEER0); 
        
    curl_setopt($clCURLOPT_SSL_VERIFYHOST0);
        
    curl_setopt($clCURLOPT_USERAGENT'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
       
    #curl_setopt($cl, CURLOPT_ENCODING, 'gzip, deflate'); 
        
    curl_setopt($clCURLOPT_COOKIEJAR$_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
        
    curl_setopt($clCURLOPT_COOKIEFILE$_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
        if(!empty(
    $post)) {
       
    curl_setopt($clCURLOPT_POST1); 
       
       
    curl_setopt($clCURLOPT_POSTFIELDS$post);}
          else{
          
    curl_setopt($clCURLOPT_POST0);}
          
        if(!empty(
    $referer)){
          
    curl_setopt($clCURLOPT_REFERER$referer);}
          else{
          
    curl_setopt($cl,CURLOPT_REFERER1);}
          
        if(!empty(
    $proxy)) {
       
    curl_setopt($clCURLOPT_PROXY$proxy);}
       
        
    $ex=curl_exec($cl);
       
    #$ex=iconv('cp1251','UTF8',$ex);
        
    curl_close($cl);
            return 
    $ex;
    }  
    ее вызов в процессе каких либо условий:

    PHP:
    $fin=curl("https://api.vkontakte.ru/method/wall.post?owner_id=-$group&message=$text&access_token=$token&from_group=1");
    Пишите все это дело в файлик и прикручиваете к своему сайту, когда посетитель заходит на ваш сайт, срабатывает нужный процесс...
     
    _________________________
    sergei_petrovish likes this.
  9. sergei_petrovish

    sergei_petrovish New Member

    Joined:
    24 Jan 2016
    Messages:
    31
    Likes Received:
    3
    Reputations:
    1
    Спсибо за код, я в курл не силен, но будет предлог подучить, решил проблему по другому, оказалась там была обычная проверка реферальной страницы.