Тема: Авторизація вк
Стало завдання авторизуватися вк на пряму (отриманням куків) через cURL, без API/OAuth (там є обмеження,які мені заважають).
Вийшло тільки на локалці, витягнув готові куки з браузеру, тут все ок (авторизація пройшла), але скрипт потрібно запускати на іншому хості з іншим IP (є перевірка IP). Тобто потрібна пряма авторизація з того хоста.
Всі спроби авторизуватися - марні, куки повертаються як DELETED. Гуглив - у інших така ж проблема.
Х.з в чому справа...
Відкриваємо.. головну m.сайт-злодій
Бачимо форму з параметрами.
<form method="post" action="https://login.сайт-злодій/?act=login&_origin=http://m.сайт-злодій&ip_h=2ed2c06660adb0c748&lg_h=88b98f20300010d880&role=pda&utf8=1" novalidate>
<dl class="fi_row">
<dt class="fi_label">Телефон або email:</dt>
<dd>
<div class="iwrap"><input type="text" class="textfield" name="email" value="" /></div>
</dd>
</dl>
<dl class="fi_row">
<dt class="fi_label">Пароль:</dt>
<dd>
<div class="iwrap"><input type="password" class="textfield" name="pass" /></div>
</dd>
</dl>
<div class="fi_row">
<div class="fi_subrow">
<input class="button wide_button" type="submit" value="Увійти" />
Генеруються параметри ip_h и lg_h, але вони вони статичні для поточного IP.
Тож виходячи з цього, роблю запит.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://login.сайт-злодій/?
act=login&_origin=http://m.сайт-злодій&ip_h=2ed2c06660adb0c748&lg_h=88b98f20300010d880&role=pda&utf8=1');
curl_setopt($ch, CURLOPT_REFERER, 'http://m.сайт-злодій');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,'email=логін&pass=пароль');
$res = curl_exec($ch);
curl_close($ch);
echo $res;
Повертає
HTTP/1.1 302 Found Server: Apache Date: Mon, 07 Mar 2016 08:09:59 GMT Content-Type: text/html; charset=windows-1251 Content-Length: 0 Connection: keep-alive X-Powered-By: PHP/3.21890 Pragma: no-cache Cache-control: no-store P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" Location: http://m.сайт-злодій/login?role=fast&to=&s=0&m=1&email= HTTP/1.1 200 OK Server: Apache Date: Mon, 07 Mar 2016 08:09:59 GMT Content-Type: text/html; charset=utf-8 Content-Length: 6319 Connection: keep-alive X-Powered-By: PHP/3.21890 Pragma: no-cache Cache-control: no-store P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" Set-Cookie: remixmid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.сайт-злодій Set-Cookie: remixsid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.сайт-злодій Set-Cookie: remixsid6=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.сайт-злодій Set-Cookie: remixgid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.сайт-злодій Set-Cookie: remixemail=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.сайт-злодій Set-Cookie: remixpass=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.сайт-злодій Set-Cookie: remixapi_sid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.сайт-злодій Set-Cookie: remixpermit=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.сайт-злодій Set-Cookie: remixsslsid=DELETED; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.сайт-злодій X-Frame-Options: SAMEORIGIN
А також сторінку, "Не можливо увійти" без введеного емейлу, хоча я його передаю в POST запиті.
В чому може бути проблема?