1

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

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

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

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

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

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

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

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

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

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

Если вам долго не отвечают, пишите автору темы в личку или на Email.

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.info/settings.php';

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

<input type="hidden" name="csrf_token" value="<?php echo generate_form_token(forum_link('https://punbb.info/settings.php')) ?>" />
Если вам долго не отвечают, пишите автору темы в личку или на Email.

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);

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

Если вам долго не отвечают, пишите автору темы в личку или на Email.