Вопрос: Повторно используйте Nonce в повторяющихся кнопках регистрации события

Насколько я понимаю, Одноразовые слова WordPress (не совсем «число, использованное один раз») предотвращают подделку запросов между источниками и последние 12 часов.

Я показываю расписание занятий с кнопкой регистрации для каждого класса. Я повторно использую одноразовый номер, чтобы каждая кнопка повторяла одно и то же одноразовое значение в атрибуте data ​​code>:

<button data-nonce="85bad21a61" data-event="unique-data">Unique</button><button data-nonce="85bad21a61" data-event="unique-data">Unique</button>

Пользователи не вошли в wordpress. Я храню данные их аккаунта, полученные после успешного входа в API, в WP_Session переменная.

Nonce создается с этой строкой:

wp_create_nonce( 'register_for_an_event' )

И проверяется в функции ajax здесь:

check_ajax_referer($_REQUEST['nonce'], "register_for_an_event", false);

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

Разумно ли это использовать одноразовые номера wp?

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

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

Ответы и комментарии:

Я ничего не добавляю в базу данных. Хотя возможно, мне нужно будет добавить некоторые записи в базу данных, чтобы выяснить, что здесь происходит - как вы предлагаете, проверяя предыдущие записи. Спасибо за подсказку Twilio. Мне это нравится.
Создан 12-12-2018 02:53 MikeiLL

Вы бы сделали записи базы данных такого рода в пользовательской таблице или в таблице параметров?
Создан 12-12-2018 07:28 MikeiLL

Одноразовые номера не способ решить вашу проблему. Вы используете это правильно. Я бы посмотрел на массив $ wpdb-> insert, который вы, вероятно, используете, и реализовал проверку на наличие данных, соответствующих предложенной «новой» записи.
Я на самом деле настроил Twilio SMS на отключение при появлении странных ошибок проверки. У меня есть текст, сообщение и идентификатор строки базы данных. Я обычно знаю о проблеме, пока мой клиент все еще находится на своем устройстве с проблемой. Они думают, что я волшебник, когда я пишу им текст и спрашиваю, есть ли у них проблема.
Создан 12-12-2018 03:07 MikeiLL273114