Авторизация с csrf через cURL

252
29 августа 2018, 18:50

При первом сеансе с сайтом генерируется уникальный CSRF код, который нужно передать для авторизации. Почему-то не получается.

Пробовал вот так:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch)) die(curl_error($ch));
$dom = new DomDocument();
$dom->loadHTML($response);
$tokens = $dom->getElementsByTagName("meta");
for ($i = 0; $i < $tokens->length; $i++)
{
    $meta = $tokens->item($i);
    if($meta->getAttribute('name') == 'csrf-token')
    $token = $meta->getAttribute('content');
}
$postinfo = "_csrf-backend=".$token."&LoginForm[email]=".$username."&LoginForm[password]=".$password."&login-button=";
echo $token; //debug info
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postinfo);
$html = curl_exec($ch);
    print($html);
if (curl_errno($ch)) print curl_error($ch);
    curl_close($ch);

В ответ получаю:

Bad Request (#400) Не удалось проверить переданные данные. The above error occurred while the Web server was processing your request. Please contact us if you think this is a server error. Thank you

Буду благодарен за помощь.

P.S. сайт на которым нужно авторизоваться работает на фреймворке yii. Я же пишу скрипт на чистом php.

READ ALSO
авторизация curl

авторизация curl

Нашёл тему Авторизация с помощью CURL но непонятноу меня есть адрес где нужно авторизоваться, авторизацию хочу сквозную т

182
переадресация .htaccess

переадресация .htaccess

как с помощьюhtaccess переадресовывать пользователя с:

190
Как создать png текстуру с ресурса в direcx9 приложении и как правильно создать ресурс? directx9

Как создать png текстуру с ресурса в direcx9 приложении и как правильно создать ресурс? directx9

Хочу в directx9 приложении использовать текстуру с png файла который должен "лежать" в ресурсахСобственно наверное нужно использовать D3DXCreateTextureFromResource,...

224