Недопустимый токен безопасности при входе в веб-приложение

#php #curl

#php #curl

Вопрос:

Я создаю скрипт curl для тестирования веб-приложения, но когда он входит в систему, он выдает мне страницу с надписью «Недопустимый токен безопасности!».

Это мой код:

 <?php

$username = '008C108';
$password = '8706405';

$loginUrl = 'http://localhost/ASTechOLE/login.php';

//init curl
$ch = curl_init();


curl_setopt($ch, CURLOPT_URL, $loginUrl);


curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, 'user='.$username.'amp;pass='.$password);


curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//login
$store = curl_exec($ch);



echo $store;
?>
  

Я очень новичок в curl, поэтому я действительно не знаю, как это сделать.

Заранее спасибо.

Комментарии:

1. Похоже, что форма содержит токен для предотвращения XSRF — поэтому вам сначала нужно будет получить страницу, содержащую форму, через cURL, каким-то образом извлечь из нее значение токена, а затем отправить это значение токена вместе с остальными вашими данными в следующем запросе.

2. @04FS Как я могу проанализировать страницу формы, если я не вошел в систему?

3. Сначала сделайте запрос GET, чтобы получить HTML-код этой страницы, содержащий начальную форму. Что касается того, как получить значение токена из этого — зависит от специфики, но, вероятно, проще всего использовать небольшое регулярное выражение, ориентируясь на конкретное поле с помощью ID или аналогичного.

Ответ №1:

Я думаю, что вашему приложению нужен токен API или что-то в этом роде. Пожалуйста, ознакомьтесь с CSRF и токеном После этого вы должны поместить токен в свой curl.