1

Topic: Невозможно подтвердить маркер доступа. Возможно, прошло некоторое...

Невозможно подтвердить маркер доступа. Возможно, прошло некоторое время после первого входа на страницу и последующей отправкой формы или щелчком по ссылке. Если это так, и вы хотите выполнить своё действие до конца, нажмите кнопку «Подтвердить». Для возврата на исходную страницу нужно нажать кнопку «Отменить».

Как подтвердить маркер доступа и что это такое? Маркер доступа позволяет проверить зашифрованную ссылку сравнивая откуда пришел пользователь и куда. Эта система была внедрена в качестве безопасности от атак хакеров и взломщиков.

Почему иногда на форуме может возникать следующее предупреждение?

На форуме PunBB у каждого посетителя имеется свой SCRF TOKEN который периодически меняется, когда посетитель некоторое время отсутствовал на форуме. Ну например, вы писали сообщение час, два, три... и при этом не открывали другие страницы во вкладках. Простыми словами страница ответа висела долгое время. И вот, спустя часов 6 вы все таки написали поэму и решили отправить ее на форум. Что происходит?

В форме уже имеется токен (можно посмотреть исходник страницы)

<input type="hidden" name="csrf_token" value="0b6ae337a22d083dde13057ce2ddf0528">

Но когда вы отправили страницу, то за то время пока вы писали сообщение токен поменялся и сравнив хеши функция обнаружила отличие токенов, что вызвало подозрение и предупреждение:

Невозможно подтвердить маркер доступа. Возможно, прошло некоторое время после первого входа на страницу и последующей отправкой формы или щелчком по ссылке. Если это так, и вы хотите выполнить своё действие до конца, нажмите кнопку «Подтвердить». Для возврата на исходную страницу нужно нажать кнопку «Отменить».

В этом случае система предлагает подтвердить отправку формы, то есть попытается обновить токен и не потеряв данные формы отправить написанное большими усилиями сообщение. Если все верно, сообщение будет отправлено, иначе система будет бесконечно выдавать предупреждение.

2

Re: Невозможно подтвердить маркер доступа. Возможно, прошло некоторое...

Иногда у начинающих программистов бывают  случаи, когда данное предупреждение появляется из за не правильно оформленных ссылок в форме.

<input type="hidden" name="csrf_token" value="<?php echo generate_form_token(forum_link($forum_url['file_to'])) ?>" />

В данном случае переменная $forum_url['file_to'] должна быть равна абсолютной ссылке на файл куда отправляется $_POST или $_GET запрос.

Например, если вы отправляете форму скрипту файла settings.php находящегося по пути вот ссылка то

$forum_url['file_to'] = 'https://punbb.softplaza.net/settings.php';

или же непосредственно так:

<input type="hidden" name="csrf_token" value="<?php echo generate_form_token(forum_link('https://punbb.softplaza.net/settings.php')) ?>" />

3

Re: Невозможно подтвердить маркер доступа. Возможно, прошло некоторое...

Токен, или маркер доступа можно отключить либо на всех страницах либо только на требуемых.

На всех страницах отключить можно в файле config.php раскоментировав строку

// Disable forum CSRF checking by removing // from the following line
define('FORUM_DISABLE_CSRF_CONFIRM', 1);

Этого я вам крайне не рекомендую делать навсегда, а только лишь для того чтобы настроить скрипты или выявить неисправности.

Отключить в определенном файле токен можно прописав в самый вверх сразу после интерпретатора php тот же код:

define('FORUM_DISABLE_CSRF_CONFIRM', 1);

Но даже в этом случае будьте осторожны чтобы не забыть об этой определенной константе. Токен это безопасность вашего форума.

4

Re: Невозможно подтвердить маркер доступа. Возможно, прошло некоторое...

форум 1.4.5
При регистрации или входе через смартфон, постоянно пишет "Невозможно подтвердить маркер доступа".
Новички при регистрации пугаются, думают, что что-то сделали не так...
Отключить токен в файле login.php?
А как же безопасность от хакеров?

5

Re: Невозможно подтвердить маркер доступа. Возможно, прошло некоторое...

vladimir-timoshenko wrote:

Отключить токен в файле login.php?
А как же безопасность от хакеров?

Если проект небольшой, то для хакеров вряд ли он будет интересным. Делайте бекапы, пока данная проблема не решена. Слышу об этом не в первый раз, возможно где то уже и есть решение, но самому некогда исследовать. Обычно это из за разных токенов генерируемых из урл, например в пост запрос поступает один урл, а на выходе другой. Вот оно сравнивая и выдает ошибку.

6

Re: Невозможно подтвердить маркер доступа. Возможно, прошло некоторое...

Т.е., это проблема не у меня, а "вообще"  PunBB_INFO_ICQ/smile
Понятно, спасибо! Бум надеяться на решение

7

Re: Невозможно подтвердить маркер доступа. Возможно, прошло некоторое...

Если немного есть навыки в php, то можно попробовать через print_r(); вывести получаемый урл после отправки пост запросом и сравнить что уходит и что получаем. Смотрите функцию csrf_token или что то вроде этого...

8

Re: Невозможно подтвердить маркер доступа. Возможно, прошло некоторое...

увы, пока навыки только в "чуть чуть подредактировать"  PunBB_INFO_ICQ/blush