для личного плагина (ничего не публичного или коммерческого) я создал форму AJAX, а ее конечная точка – это конечная точка (REST Api).
Когда доступ к определенной странице, содержащей мою форму, я генерирую nonce.
Затем пользователь отправляет форму, я добавляю обычный заголовок ( X-WP-Nonce
) и в функцию конечной точки. Я проверяю nonce, который я сначала создал, когда страница была загружена.
Я бы хотел, чтобы мой nonce был недолгим, то есть 12 часов – это слишком много.
Я нашел, что могу использовать apply_filters('nonce_life', timeHere)
но я не знаю, где эта строка должна быть: должна ли она идти прямо перед этим?
$nonce = wp_create_nonce('wp_rest');
Более того: может ли эта строка изменить срок службы ANY nonce в моем WP или это изменение повлияет только на мое nonce? Я бы не хотел разорвать другие плагины.
Благодаря!
Да, использование этого фильтра повлияет на продолжительность жизни всех несетов, созданных после добавления этого фильтра, и пока он остается на месте. Поэтому лучше всего добавить его, создать nonce, удалить его:
function my_nonce_lifetime() { return 600; // 10 minutes } add_filter( 'nonce_life', 'my_nonce_lifetime' ); $nonce = wp_create_nonce('wp_rest'); remove_filter( 'nonce_life', 'my_nonce_lifetime' );