Нужно чтобы пользователь вошел на мой сайт и незаметно авторизовался на мейле с моими логином и паролем. Думал 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> - "плохая" картинка на сайте отображается, но авторизаия не происходит. Посоветуйте что нибудь пожалуйста.
изучайте библиотеку http://api.mail.ru/docs/guides/oauth/ - OAuth авторизация также поможет статья http://ruseller.com/lessons.php?rub=37&id=1663 с примерами в php
Спасибо, я вчера просмотрел апи, там незаметно авторизовать не получится получится. Гет или Пост запрос при переходе на мой сайт будет идеально,
Такой код для автоматической отправки из вашего сайта, когда пользователь перейдет по ссылке его перенаправит на авторизаию 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&client_id=737165&sig=631e9ae1f2012ab821e1d55f08560608&redirect_uri=https%3A%2F%2Fсайт на который авторизуемся%2Flogin%2Fmail_ru&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 . Даже в емуляторе другого домена он работает , а вот после загрузки на хостинг не хочет, уже не знаю что делать.
Выдержка кода одного из моих скриптов для работы с ВК, принцип работы тот же что вам и нужен. сама функция curl'a: PHP: function curl($url='', $post='', $referer='', $proxy=''){ $cl = curl_init(); curl_setopt($cl, CURLOPT_URL, $url); curl_setopt($cl, CURLOPT_RETURNTRANSFER,1); curl_setopt($cl, CURLOPT_HEADER, 0); curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($cl, CURLOPT_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($cl, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'); curl_setopt($cl, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt'); if(!empty($post)) { curl_setopt($cl, CURLOPT_POST, 1); curl_setopt($cl, CURLOPT_POSTFIELDS, $post);} else{ curl_setopt($cl, CURLOPT_POST, 0);} if(!empty($referer)){ curl_setopt($cl, CURLOPT_REFERER, $referer);} else{ curl_setopt($cl,CURLOPT_REFERER, 1);} if(!empty($proxy)) { curl_setopt($cl, CURLOPT_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"); Пишите все это дело в файлик и прикручиваете к своему сайту, когда посетитель заходит на ваш сайт, срабатывает нужный процесс...
Спсибо за код, я в курл не силен, но будет предлог подучить, решил проблему по другому, оказалась там была обычная проверка реферальной страницы.