Несколько запросов ajax nonce


У меня есть функция в моем текущем проекте, которая будет разрешать несколько запросов ajax - у меня есть один запрос nonce (с помощью этого tute), но я несколько не уверен, как разобраться в нескольких запросах nonce.

Functions.php : локализовать, создать один nonce

 wp_localize_script( 
      'B99-Portfolio', 
      'B99ajax', 
      array( 
           'ajaxurl'        => admin_url( 'admin-ajax.php' ),
           'requestNonce'   => wp_create_nonce('b99-request-nonce') 
      )
 );

Вызов js:

$.ajax({
        type    : 'POST',
        url     : B99ajax.ajaxurl,
        data    : {
            action          : 'b99-ajax-submit',
            requestNonce    : B99ajax.requestNonce
        },...

Получение php

public function b99_ajax_submit() {
        $nonce = $_POST['requestNonce'];
        if ( ! wp_verify_nonce( $nonce, 'b99-request-nonce' ) )

... sql, response

На данный момент я могу повторно использовать этот nonce повторно, но я думаю, что это противоречит цели проверки nonce. Мой решение будет заключаться в том, чтобы запросить новый nonce в получающем php, назначить B99ajax js-объекту эту переменную и отправить ее обратно на страницу запроса для "следующей" последовательности ajax.

Есть ли лучший способ?

Author: kaiser, 2011-06-12

1 answers

В основном это так, как это делает WordPress, и, по сути, это единственный способ сделать это, просто попросите вашу принимающую функцию PHP создать новый nonce add и отправить его обратно с вашим ответом, а затем просто обновите значение вашего JS перед следующим раундом.

 2
Author: Bainternet, 2011-06-12 22:56:21