Ошибка failed security check for loco nonce

The only situation in which I can imagine this happening is if you left the page open in your browser for so long that the nonce expired. This is to be expected.

Generating and checking nonce values uses the WordPress core functions and I am not aware of any errors or bugs in my implementation. If you disagree then please provide sufficient detail for me to reproduce the problem.

WordPress reference: https://codex.wordpress.org/WordPress_Nonces

Внутри ядра WordPress «скрыто» множество полезных инструментов. Один из них — это токены безопасности или «nonces», которые позволяют защититься от некоторых видов неправомерного или злоумышленного использования возможностей сайта.

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

Nonce. Number Used Once

Nonce расшифровывается как «число, используемое один раз» (number used once). Эти числа или «токены» состоят из цифр и букв, являются уникальными для каждого пользователя и для каждого действия, и имеют ограниченное «время жизни», после которого становятся недействительными.

Несмотря на говорящую фразу «число, используемое один раз», в действительности это не совсем так. Nonce генерируется для конкретного пользователя и действия, поэтому будет неизменной до тех пор, пока жизненный цикл не будет закончен (примеры генерации и описание жизненного цикла будут рассмотрены ниже).

Одноразовыми же они называются, потому что предназначены для тех же целей, что и настоящие одноразовые токены. Например, nonce помогают защититься от некоторых типов атак, включая межсайтовую подделку запросов (CSRF), но не защищают от атак повторного воспроизведения (replay atack), потому что nonce не проверяются на использование лишь единожды.

В качестве примера того, как nonce используется, рассмотрим некую административную страницу, на которой отображается ссылка для удаления записи с идентификатором 123. Можно заметить, что nonce содержится в конце адреса.

https://wpmag.ru/wp-admin/post.php?post=123&action=trash&_wpnonce=b192fc4204

Если кто-нибудь попытается изменить адрес, чтобы удалить запись с идентификатором 456, то число nonce будет недействительным и попытка удалить другую запись не увенчается успехом.

https://wpmag.ru/wp-admin/post.php?post=456&action=trash&_wpnonce=b192fc4204

Неверное число nonce заставит WordPress выдать в ответ браузеру «403 Forbidden» с сообщением об ошибке «Вы уверены, что хотите сделать это?».

Вы уверены, что вы хотите сделать это?

Вы уверены, что вы хотите сделать это?

В WordPress уже заранее есть необходимый функционал для создания и добавления nonce в качестве аргумента URL или скрытого поля внутри формы. Есть несколько базовых функций и для работы в каких-то иных ситуациях.

Nonce, используемые в AJAX-запросах, обычно добавляются в скрытые поля формы, откуда к ним может получить доступ JavaScript. Стоит заметить, что nonce уникальна для текущей сессии пользователя, поэтому, если входить или выходить асинхронно, nonce на странице станут недействительными.

Генерация nonce

Процесс генерации происходит c использованием ключа и соли, уникальных для каждого сайта, если конечно WordPress установлен корректно. Для этого используются константы NONCE_KEY и NONCE_SALT, объявляемые в файле wp-config.php.

Иногда в качестве значений установлена строчка «впишите сюда уникальную фразу». В этом случае необходимо воспользоваться API для создания секретных ключей, заменив подобные значения по умолчанию. После этой процедуры все пароли пользователей останутся действительными, но им прийдется снова выполнить вход.

Где хранятся nonce

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

Nonce в качестве аргумента URL

Для того, чтобы добавить nonce к URL существует функция wp_nonce_url(), которой необходимо передать URL и строчку, обозначающую некое действие. Например:

$complete_url = wp_nonce_url( $bare_url, 'trash-post_' . $post->ID );

Для максимальной безопасности, убедитесь, что строка, описывающая действие, названа максимально конкретно. В примере выше название действия будет выглядеть, как trash-post_123.

По умолчанию, wp_nonce_url() добавляет в адрес аргумент с именем _wpnonce. Но можно указать и другое название при вызове функции, передав третий аргумент:

$complete_url = wp_nonce_url( $bare_url, 'trash-post_' . $post->ID, 'wpmag_nonce' );
// Теперь аргумент будет называться wpmag_nonce

Числа nonce внутри формы

Для добавления nonce внутрь формы используется функция wp_nonce_field(). В качестве аргумента, как и в случае с добавлением nonce в адрес, необходимо передать строку, которая описывает совершаемое действие.

По умолчанию, функция выведет два скрытых поля. Первое содержит секретное число nonce. Внутри второго поля — текущий URL (referrer). Например:

wp_nonce_field( 'delete-comment_' . $comment_id );

При таком вызове в форму выведутся следующие скрытые поля:

<input type="hidden" id="_wpnonce" name="_wpnonce" value="796c7766b1" />
<input type="hidden" name="_wp_http_referer" value="/wp-admin/edit-comments.php" />

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

Кроме этого можно задать другое имя для поля nonce, не выводить поле с referrer и указать, что результат необходимо вернуть, а не выводить. Для подробностей использования смотрите страницу описания функции wp_nonce_field() в кодексе WordPress.

Нестандартное использование nonce

Для создания nonce при использовании в других случаях используйте функцию wp_create_nonce(), передав в качестве аргумента строчку, описывающую действие. Например:

$nonce = wp_create_nonce( 'my-action_' . $post->ID );

После этого, в переменной $nonce окажется уникальный ключ, например, 295a686963.

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

Проверка действительности чисел nonce

Для всех трех способов внедрения nonce, описанных в предыдущей части, есть функции, с помощью которых можно выполнить проверку действительность токена.

Проверка nonce, полученной с административной страницы

Для проверки nonce, переданной через URL или внутри формы в административной панели WordPress, необходимо использовать функцию check_admin_referer(), передав в качестве аргумента строчку, описывающую название действия.

check_admin_referer( 'delete-comment_' . $comment_id );

Функция проверит поля nonce и referrer и если проверка не будет успешной, то произойдет обычное действие — прекращение выполнения кода с ответом 403 и сообщением об ошибке.

Если вы использовали название поля для nonce отличное от того, что задается по умолчанию, необходимо указать его вторым аргументом:

check_admin_referer( 'delete-comment_' . $comment_id, 'wpmag_nonce' );

Учтите, что данная функция работает только в рамках административной панели WordPress, и не подойдет для использования в формах, публикуемых на лицевой части сайта. Если требуется проверить действительность кодов nonce на лицевой части, используйте функцию wp_verify_nonce() (см. ниже).

Проверка nonce, полученной через AJAX-запрос

Если вы получили nonce через AJAX-запрос, используйте функцию check_ajax_referer(). В качестве аргумента необходимо передать название действия:

check_ajax_referer( 'process-comment_' . $comment_id );

Функция проверит nonce и в случае, если проверка не будет успешной, завершит исполнение кода. Учтите, что при таком подходе поле referrer не учитывается, но данная функция убедится в том, что запрос действительно пришел по AJAX.

Если вы используете название поля для nonce, отличное от того, что задается по умолчанию (_wpnonce или _ajax_nonce), необходимо передать дополнительные параметры. Подробности на странице функции check_ajax_referer() в кодексе WordPress.

Проверка nonce, полученной другими способами

Nonces, полученные другими способами, в том числе и на лицевой части сайта, могут пройти проверку с помощью функции wp_verify_nonce(). Данная функция принимает два аргумента: значение полученного кода nonce и название действия. Например:

wp_verify_nonce( $_REQUEST['my_nonce'], 'process-comment' . $comment_id );

В случае отрицательного результата не следует продолжать обработку запроса. Обычно, в таких случаях вызывается wp_nonce_ays(), которая отдает браузеру «403 Forbidden» с сообщением об ошибке.

Изменение системы nonce в WordPress

Систему работы с nonce можно изменять, используя различные события и фильтры. Некоторые функции для работы с nonce размещены в файле pluggable.php, и это означает, что они могут быть легко заменены своими собственными.

Например, для изменения логики проверки АJAX-запросов, необходимо написать свою собственную функцию check_ajax_referrer() в плагине. Список функций и фильтров для работы с nonce можно найти в кодексе.

Изменение продолжительности жизни кодов nonce

По умолчанию, срок действия nonce равен одному дню. После этого число nonce перестает быть действительной, даже если название действия совпадает. Для изменения времени используйте фильтр nonce_life, указав необходимое время в секундах. Например, код ниже устанавливает срок действия на 4 часа:

add_filter( 'nonce_life', function() {
    return 4 * HOUR_IN_SECONDS;
} );

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

Для отсчета срока жизни nonce, WordPress использует систему с двумя «тиками» часов, где 1 тик равносилен половине продолжительности жизни. Во время второго тика nonce может быть обновлена, например, через автосохранение.

При настройках по умолчанию, где продолжительность действия nonce составляет 24 часа, это означает, что информация о времени внутри nonce, говорит сколько двенадцатичасовых периодов времени прошло с начала эпохи Unix.

Nonce, созданная в промежуток с 12:00 до 24:00 будет действительна до 12:00 следующего дня. Фактический срок службы составит значение между 12 и 24 часами. Пример выше, где срок службы устанавливался на 4 часа, означает, что nonce будет действительна от 2 до 4 часов.

Чтобы до конца понять суть взглянем на исходный код функции wp_nonce_tick(), которая возвращает количество 12-и часовых промежутков.

function wp_nonce_tick() {
    $nonce_life = apply_filters( 'nonce_life', DAY_IN_SECONDS );
    return ceil(time() / ( $nonce_life / 2 ));
    // Поделив текущее время на 12 часов мы получаем кол-во
    // 12 часовых промежутков, которые уже прошли :)
}

А теперь на функцию wp_verify_nonce(), проверяющую nonce и заодно отсчитывающую количество тиков.

function wp_verify_nonce( $nonce, $action = -1 ) {
    // ...
    if ( empty( $nonce ) )
        return false;

    $i = wp_nonce_tick();

    // Nonce созданные до 12 часов назад
    $expected = substr( wp_hash( $i . '|' . $action . '|' . $uid . '|' . $token, 'nonce'), -12, 10 );

    if ( hash_equals( $expected, $nonce ) )
        return 1; // Идет первый тик

    // Nonce созданные в промежуток от 12 до 24 часов назад
    $expected = substr( wp_hash( ( $i - 1 ) . '|' . $action . '|' . $uid . '|' . $token, 'nonce' ), -12, 10 );

    if ( hash_equals( $expected, $nonce ) )
        return 2; // Идет второй тик

    return false; // Неверная nonce
}

Выполнение дополнительных проверок

Для выполнения дополнительных проверок в момент, когда функция check_admin_referer() установила, что nonce и referrer являются действительными, можно использовать check_admin_referer в качестве события:

function wpmag_additional_check( $action, $result ) {
    // Проверяем
}
add_action( 'check_admin_referrer', 'wpmag_additional_check', 10, 2 );

Аналогичным способом можно «прицепиться» к событию check_ajax_referer внутри вызова check_ajax_referer().

Изменение внешнего вида страницы с ошибкой

Внешний вид страницы с сообщением об ошибке, отдаваемой в случае недействительности nonce, можно изменить. Функция wp_nonce_ays() передает необходимое сообщение об ошибке функции с драматичным названием wp_die(). В последней есть несколько фильтров для раздельной обработки AJAX, XML-RPC и всех остальных запросов. Например:

$function = apply_filters( 'wp_die_handler', '_default_wp_die_handler' );
// В $function записывается название функции, которую вызовет wp_die()

Перехватив фильтр, можно указать собственную функцию, которая сможет отдавать страницу с совершенно другим внешним видом.

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

Если у вас остались вопросы по системе токенов в WordPress, оставьте комментарий и мы обязательно вам ответим.

Как в ОС Windows 10 исправить ошибку Kernel Security Check Failure, 8 шагов

Работая за компьютером, пользователь даже не подозревает, что в любой момент оборудование может выйти из строя.  Затем появляется ошибка Kernel Security Check Failure на Windows 10, и не понятно, как ее исправить, ведь неполадка сопровождается синим экраном и сообщением: «На вашем ПК возникла проблема, и его необходимо перезагрузить». К счастью, проблема решается за несколько минут, но предварительно придется разобраться в причинах возникновения.

В чем причина проблемы?

Ошибка, содержащая код Kernel Security Check Failure, выскакивает в самый неподходящий момент. Пользователь может сидеть в браузере, смотреть фильм, играть или заниматься работой. Тип действующей операции никак не влияет на возникновение неполадок.

screenshot_1

Однако ошибка не появляется на пустом месте. Она выскакивает по следующим причинам:

  • устаревшие драйверы оборудования;
  • повреждены файлы реестра;
  • проблемы с BIOS;
  • перегрузка системы.

Несмотря на то, что ошибка прерывает работу пользователя и не дает ему сохранить изменения, проблема решается без помощи специалиста. Каждое действие из предложенных ниже инструкций может выполнить даже новичок.

screenshot_2

Исправление ошибки Kernel Security Check Failure в Windows 10

На пути к решению проблемы владелец компьютера с Виндовс 10 должен идти от простого к сложному. Сначала рекомендуется выполнять банальные действия и только потом переходить к решительным мерам.

Перезагрузка компьютера

Нередко получается так, что ошибка KSCF становится разовым явлением. Она сопровождается сообщением о возникновении проблем, а система в принудительном режиме перезагружает компьютер. Чаще всего после повторного запуска ПК неполадки перестают давать о себе знать. Поэтому сначала следует просто перезагрузить устройство и проверить, не появится ли ошибка в будущем.

screenshot_3

Важно. Проблема может долго не проявляться, однако в случае, если человек не займется проверкой оборудования, KSCF будет сопровождать пользователя на протяжении всего периода эксплуатации.

Отключение всего лишнего оборудования

Зачастую неполадки возникают из-за перегрузки ОС. Это происходит по причине того, что владелец ПК использует большое количество стороннего оборудования. Сюда относится акустическая система, внешние накопители, принтер, монитор и другие устройства.

screenshot_4

Рекомендуется на некоторое время отказаться от лишних элементов. Снижение нагрузки на порты ПК приведет к увеличению стабильности, а потому сообщение об ошибке должно перестать появляться на экране.

Проверка жесткого диска

Проблема бывает связана с битыми секторами жесткого диска ПК. Подобные неполадки легко устраняются через Командную строку:

  • Зажмите клавиши «Win + R».

screenshot_5

  • В открывшемся меню «Выполнить» введите запрос cmd для запуска КС.

screenshot_6

  • Укажите команду chkdsk C: /f и нажмите клавишу «Enter».

screenshot_7

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

Команда chkdsk C: /f запустит проверку диска и процесс автоматического устранения неполадок. После выполнения операции синий экран перестанет появляться.

Проверка системных файлов

При установке сторонних программ пользователь сталкивается с проблемой, когда ПО нарушает работу системных файлов. Узнать, так ли это на самом деле, а также исправить неполадки, поможет операция System File Checker.

screenshot_8

Для ее реализации потребуется:

  • Открыть Командную строку любым удобным способом.

screenshot_9

  • Ввести запрос sfc /scannow и нажать кнопку «Enter».

screenshot_10

  • Указать команду DISM /Online /Cleanup-Image /RestoreHealth и подтвердить действие.

screenshot_11

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

Тестирование оперативной памяти

За обработку процессов при эксплуатации компьютера отвечает оперативная память. Если ОЗУ недостаточно, периодически может появляться ошибка Kernel Security Check Failure. Но даже в случае, когда ПК оснащен достаточным количеством оперативки, проблема дает о себе знать.

Подобная ситуация происходит из-за засора планок оперативной памяти или выхода отдельных компонентов из строя. Выполнить диагностику RAM помогает запрос mdsched.exe, который вводится через Командную строку.

screenshot_12

Если же это не поможет, необходимо вручную проверить целостность ОЗУ:

  • Отключите ПК от источника питания.

screenshot_13

  • Отсоедините все кабели компьютера.
  • Разберите системный блок.

screenshot_14

  • Извлеките модуль оперативной памяти.

screenshot_15

  • Аккуратно очистите плашку мягкой щеткой.

screenshot_16

  • Установите ОЗУ обратно и перезагрузите ПК.

screenshot_17

Совет. Иногда выходит из строя не сама оперативка, а конкретная планка. Поэтому при повторной сборке рекомендуется установить RAM в другой порт.

Выполнив манипуляции с оперативной памятью, проверьте стабильность работы компьютера. Не исключено, что очистка контактов приведет к желаемому результату.

Устранение изменений в реестре

Ошибка KSCF бывает вызвана изменениями в реестре ПК. В таком случае нужно вернуться к его стандартным параметрам, для чего требуется ввести в Командной строке запрос copy c:windowssystem32configRegBack* c:windowssystem32config. После этого проблема должна быть решена.

screenshot_18

Проблемы с драйверами

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

Для устранения ошибки нужно:

  • Щелкнуть ЛКМ по иконке «Пуск».
  • Выбрать пункт «Диспетчер устройств».

screenshot_19

  • Изучить компоненты компьютера на предмет появления возле их названия восклицательного знака, который свидетельствует о наличии проблем.
  • Кликнуть ПКМ по «проблемному» компоненту и выбрать пункт «Обновить драйверы».

screenshot_20

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

Обновление БИОС

Меню BIOS редко используется владельцами ПК, однако в случае, когда на компьютере установлена старая версия БИОС, периодически выскакивает ошибка Kernel Security Check Failure. Она исправляется путем обновления меню, для которого требуется:

  • Перезагрузить ПК.
  • В момент включения зажать горячие клавиши для перехода в BIOS (комбинация зависит от модели материнской платы).

screenshot_21

  • Ознакомьтесь с текущей версией прошивки.

screenshot_22

  • Зайдите на сайт производителя материнки и проверьте наличие обновлений.

screenshot_23

  • Установите апдейт и запустите компьютер.

С новыми драйверами БИОС и Windows 10 должны работать стабильнее. Так что выполнение этой операции запросто решает проблему, связанную с появлением синего экрана.


August 1, 2018 at 10:58 am

#70352

Hello,

after latest WooCommerce update there appeared some issues. I’d like to ask you for help to fix them:

1. In my account settings where you may edit the address, there’s a symbol * which indicates required fields. Strangely, now it is displayed with two dots around it. Note that everywhere else on website this symbol * is displayed correctly. See printscreen.

2. In my account | addresses there are Registration address and Shipping address fields and bellow them there’s written country name “Lithuania” in English language. I would like to hide it or to translate it to Lithuanian language, but I can’t do this with Loco translate as the word “Lithuania” is already translated in WooCommerce. Sync option doesn’t help, too. So I’m stuck with this translation. See printscreen.

3. Besides, after some other translations which I managed to make, WooCommerce now writes “Error: Failed security check for loco-nonce”. What does that mean? It seems that I can’t translate WooCommerce with that error being shown.

Attachments:

You must be logged in to view attached files.


August 1, 2018 at 11:28 am

#70370

Hello,

also I’d like to translate text “Log in” to Lithuanian which is being shown if user wants to log in to his account.
Previously it was in Lithuanian, but somehow it started to be displayed in English.
I checked with Loco translate that “Log in” is translated to Lithuanian in WooCommerce, but instead of Lithuanian words I see original English text while trying to log in. See printscreen.

Secondly, in the check out page I can’t translate the input word “Lithuania” in the field which indicates the state. This word is already translated in WooCommerce, but here it is being shown in English. See printscreen.

Additionally, there were a few other texts that previously have been translated to Lithuanian, but after WooCommerce update become “English” again in My account („From your account dashboard you can view your recent orders, manage your shipping and billing addresses, and edit your password and account details.“, „Display name“, „This will be how your name will be displayed in the account section and in reviews“) + in Check out the same happened with the word “optional”. I successfully translated them with Loco translate, but these translations may be lost after WordPress update.
It would be great not to translate them after each WordPress or WooCommerce update, still I don’t know if you can help with that.

Best regards,

Attachments:

You must be logged in to view attached files.


August 1, 2018 at 11:30 am

#70375

Hi,

1. Could you please send us a link to your website where we can see this issue?

2. You should be able to translate these texts in WooCommerce since they are not related to our theme. If you think that it doesn’t work, you need to contact plugin’s developers for help.

3. Try to clear your browser cache and cookies and check again. Also, try to disable all plugins that are not related to our theme before checking.

Regards


August 1, 2018 at 11:43 am

#70384

Hello,

see the link in private content.

As I understand you offer me to contact WooCommerce and Loco translate concerning the other issues?


August 1, 2018 at 11:45 am

#70387

We need your admin access as well.

If you think that you configured everything correctly and plugin’s functions still not working then you can try to contact developers for help.


August 1, 2018 at 12:00 pm

#70394

Hello,

yes, just forgot to add. See it in private content.


August 1, 2018 at 12:36 pm

#70406

Hello,

Try to add the following code snippet to the Custom CSS area in Theme Settings to fix this issue.

abbr[title] {
  border-bottom: none !important;
  text-decoration: none !important;
}

Regards


August 1, 2018 at 4:43 pm

#70470

Hello,

thank you so much, this code fixed the issue with .*.

I also found out that English text “Lithuania” was shown in My account and Check out pages, because in my own WP profile settings the State/County was indicated in English, not in Lithuanian. So I just had to translate it manually there 🙂

Still I have not found how can I translate WooCommerce’s button “Log in” which is here:
<button type=”submit” class=”button woocommerce-Button” name=”login” value=”Log in”>Log in</button>.

Maybe you have any solution for this?

Best regards!


August 1, 2018 at 7:59 pm

#70504

Check translations files both for WooCommerce and our theme for this word in Loco Translate. It should be translated there.

@rmgconsult

I have had several people try to subscribe and they get this error message:
“Failed nonce security check. Please reload the page and submit this form again.”
They have tried several times but have been unable to subscribe.

This seems exactly like the problem at:
#156

I’m totally baffled because the sign up works correctly for me so I can’t replicate the problem.
I’ve tried about 4 or 5 Mailchimp plugins…your plugin is the best as far as I can tell for my needs.

Can you please help me?

Also how can I donate some money or «uprgrade» my free version to a paid version? I can’t contribute much but I would like to express my appreciation for the help and the software.

Thanks!
Richard Golden
rmgconsult@aol.com
www.learningmachines101.com

@EvanHerman

Hi Richard,

That issue generally occurs when you are running some sort of caching plugin that stores the nonce ID in your browsers (or servers) cache. Do you currently have any caching plugins installed on your site?

I was able to successfully submit a test submission without any errors being thrown. I received the confirmation message once I submit the form. I even tried refreshing the page and re-submitting the form but to no avail, the submission went through.

In regards to any donations or upgrades, we don’t currently accept donations for the plugin. We’ve developed the plugin as a free tool for the community to use. During development we took a look at numerous MailChimp plugins and the premium upgrades that they offered, and we added the most popular features (and then some) into our plugin. So we don’t currently have a premium upgraded version either, as we wouldn’t really have many more features to pack into it.

We’re happy to help free of charge though, and if you so enjoy the plugin we love to receive new positive reviews, which only helps to get our plugin noticed among the thousands in the repository. :)

Thanks!
Evan

@rmgconsult

Thanks for the email. It is greatly appreciated. I only have about 20 plugins, 20 pages, and 20 posts
on my website. I don’t have more than 25 or so visitors per day to my website despite its popularity in ITUNES. I probably don’t even have to worry about having a caching plugin.

The 4 relevant plugins which are caching plugins which I have are:
Ithemes Security (Ithemes.com)
Quick Cache (www.s2member.com) [possible competitor of mailchimp?]
WordPress SEO (https://yoast.com/)
WP-Optimize (https://github.com/ruhanirabin/WP-Optimize)

Could any of these be the problem? Do you have any opinions regarding which of the above might be less likely or more likely to be the source of the problem?

Also…more fundamentally…any suggestions regarding how I can try to replicate
the problem myself (i couldn’t replicate it either..even though at least 2 other potential
subscribers have had this problem). Should I try different browsers and operating systems
and computers?

Greatly appreciate any quick comments or insights you may have!

Richard Golden
www.learningmachines101.com

@EvanHerman

Hi Richard,

From a quick look at the list of plugins, my best guess is that Quick Cache is storing the nonce key so each subsequent page load references the previously stored key, which doesn’t match the newly generated one thus throwing the error. I would either try disabling Quick Cache temporarily to see if that helps resolve the issue for your users, or seeing if there is a way to exclude the ‘Easy MailChimp Forms’ plugin from being cached altogether. I haven’t used Quick Cache before, so I’m not sure if there is a way or not to specify that.

I wasn’t able to reproduce the issue on my end after 3 form submissions. I would confirm with the users what browsers they are using. I have seen and been able to reproduce the issue on other users sites when they are using caching plugins so it’s strange I didn’t see it on yours.

I would run through the list of common browsers and do some testing across them. I’ve done checks in alternate browsers while developing the plugin, so I know it works across them but it may be a conflict with another plugin in a specific browser, or something weird.

Let me know if after temporarily deactivating the plugin your users are still seeing the issue.

Thanks,
Evan

@rmgconsult

The purpose of this post is to simply add a little more information to this thread for people who have had similar problems. I dusted off an old computer which was running Windows XP with Internet Explorer and using that operating system and that browser I was able to consistently replicate the above problem. Next, I «deactivated» Quick Cache (www.s2member.com). And voila…things worked perfectly! Thank you so much Evan for your help!!!

@EvanHerman

Awesome! I’m glad that you were able to resolve the issue. Interesting that the issue appeared in Internet explorer. I’ll have a look at that.

Thanks for reporting back here with your findings!

Evan

@varunsanadhya

I had the same issue which got resolved when I disabled caching in WP optimize plugin

This topic has 3 replies, 2 voices, and was last updated 4 years by Laura.

  • Author

  • July 12, 2018 at 19:23

    #203697

    Hi,

    Hoping you can help me.

    We want to change the log in call to action at the bottom of a blog post.

    Currently it says – You must log in to post a comment.

    But we want it to say – Please log in to post a comment.

    Is there anyway you can do this for us? Or give us a shortcode we could use please? Ps – I have no php experience so I’m scared to doing it via the editor.

    Thank you.

    July 13, 2018 at 04:48

    #203737

    Hello, yes you need to install Loco Translate plugin and go to Loco Translate – Themes – KLEO and select your language then click SYNC and search for the word to change

    Hi there!!! Help others from the community and mark any reply as solution if it solved your question. Mark as a solution

    Laura Solanes — Graphic Designer and Web Designer

    Please be patient as I try to answer each topic as fast as i can.

    If you like the theme or the support you’ve received please consider leaving us a review on Themeforest!

    Always happy to help you 🙂

    July 13, 2018 at 13:15

    #203748

    Hi Laura,

    Many thanks for the help.

    Unfortunately that did not work because when I went to click Connect it could not connect as I do not have FTP access and we tend to have to a lot of stuff like this via the SFTP using Filezilla.

    I got the following alert messages –

    Error: Failed security check for loco-nonce
    Write protected: Saving this file requires permission. Click “Connect” to authenticate with the server.

    Can you perhaps suggest how to do this via the SFTP?

    Thanks!

    Attachments:

    You must be logged in to view attached files.

    July 14, 2018 at 02:43

    #203819

    Hello, instead of saving click the .PO and .MO buttons and go to wp-content/languages/themes and paste it there

    Hi there!!! Help others from the community and mark any reply as solution if it solved your question. Mark as a solution

    Laura Solanes — Graphic Designer and Web Designer

    Please be patient as I try to answer each topic as fast as i can.

    If you like the theme or the support you’ve received please consider leaving us a review on Themeforest!

    Always happy to help you 🙂

  • Author

    Posts

Viewing 4 posts — 1 through 4 (of 4 total)

The forum ‘Bugs & Issues’ is closed to new topics and replies.

  • Ошибка failed to create display
  • Ошибка fail на сигнализации scher khan logicar
  • Ошибка f908 духовой шкаф ikea
  • Ошибка failed to create d3d device лефт 4 деад
  • Ошибка fail to hook gettickcount что делать