Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: сети
Войти
Регистрация
Восстановить пароль
 
Mep3avec
2 / 2 / 0
Регистрация: 09.01.2018
Сообщений: 40
#1

Csrf-token и авторизация

Вчера, 04:20. Просмотров 35. Ответов 0

Всем привет. Пытаюсь зайти на редит авторизованным но имею проблему с csrf-token'ом . Вот собственно код:

Обрабатываем страницу curl'ом
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function request ( $url, $postdata = null, $cookiefile = 'libs/cookie.txt' ){
 
 
    $ch = curl_init($url);
 
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36');
    curl_setopt( $ch, CURLOPT_HEADER, true );
    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
 
    curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookiefile );
    curl_setopt( $ch, CURLOPT_COOKIEFILE, $cookiefile );
 
    curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
 
    if ( $postdata ){
 
        curl_setopt( $ch, CURLOPT_POSTFIELDS,$postdata );
    }
 
    $html = curl_exec( $ch );
    curl_close($ch);
   return $html;
 
}
 
file_put_contents('libs/cookie.txt', '');
Граббим csrf-token чтоб вставить в POST

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$html = request('https://www.reddit.com/login');
 
 
$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;
@$doc->loadHTML($html);
 
$xpath = new DOMXPath($doc);
$products = $xpath->query("//form[@class='AnimatedForm']/input[2]");
 
foreach ($products as $row){
   $crf = $row->getAttribute('value');
    echo $crf. '</br>';
}
 
$post = [
    'csrf_token' => $crf,
    'otp' => '',
    'password' => 'password',
    'dest' => 'https://www.reddit.com',
    'username' => 'username'
 
];
А дальше такой вот код, но

PHP
1
2
3
4
5
6
7
8
$html2 = request('https://www.reddit.com/login', $post);//на этом моменте не работает
print_r($html2)
 
$doc2 = new DOMDocument;
 
@$doc2->loadHTML($html2);
$xpath2 = new DOMXPath($doc2);
$finals = $xpath2->query(".//*[@id='t3_96oj0k']/div/div/div/div/span/a/h2/text()");
То есть не принимает токен , с чем это может быть связано?
С тем что я создаю каждый раз экземпляр curl'a?
Вообщем подскажите что с этим можно сделать , заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
Вчера, 04:20
Ответы с готовыми решениями:

CSRF атака
Здравствуйте. Хотел бы узнать, есть ли такая программа чтоб проверить сайт на...

Php, csrf
Здравствуйте. такой вопрос.. нужно поставить csrf token-ы на все ,скажем так,...

CSRF token
Доброго времени суток! Изучаю csrf, и не могу понять одну вещь, помогите...

Spring security Invalid CSRF Token
Всем привет. Подскажите пожалуйста с чем связана эта ошибка и какие есть...

Ошибка "CSRF token missing or incorrect" при передаче информации в форме
Вообщем создал я модели(не суть важно какие). Через админку добавил группу...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
Вчера, 04:20

Авторизация не работает при включенной CSRF защите Spring Security
Здравствуйте вот столкнулся с такой проблемой при попытке авторизации получал...

Ошибка при разборе запроса. [ Token line number = 1,Token line offset = 26,Token in error = Наименование ]
Доброго времени суток, никак не пойму в чем проблема. using System; using...

Django csrf cookie --нужно определить в чем ошибка CSRF cookie not set
НУжна помощь в определений ошибки как исправить в папке Templates находится...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru