PluginProbe
AI Builder – Generate pages, blocks, images & translate with AI / 2.7.10
AI Builder – Generate pages, blocks, images & translate with AI v2.7.10
2.7.10 2.7.9 2.7.8 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.3.10 All 122 releases
← All changes | includes/class-ajax-handler.php +12 -2 2.7.82.7.10 View file →
@@ -102,9 +102,9 @@
102 102 public function get_token()
103 103 {
104 104 // Vérifier que les données POST existent
105 105 if (!isset($_POST['nonce'])) {
106 - wp_send_json_error('Missing required data');
106 + wp_send_json_error('Missing required data', 400);
107 107 }
108 108
109 109 // Déséchapper et assainir les données
110 110 $nonce = sanitize_text_field(wp_unslash($_POST['nonce']));
@@ -110,9 +110,19 @@
110 110 $nonce = sanitize_text_field(wp_unslash($_POST['nonce']));
111 111
112 112 // Vérifier le nonce
113 113 if (!wp_verify_nonce($nonce, 'aibui_nonce')) {
114 - wp_die('Security check failed');
114 + // wp_die() répondrait une page HTML avec un statut 200 : le client JS
115 + // ne peut ni la parser ni la distinguer d'un vrai échec. On renvoie du
116 + // JSON + 403 pour qu'il affiche « session expirée, rechargez la page »
117 + // plutôt qu'une erreur générique.
118 + wp_send_json_error(
119 + array(
120 + 'code' => 'nonce_expired',
121 + 'message' => 'Security check failed: the WordPress nonce has expired.',
122 + ),
123 + 403
124 + );
115 125 }
116 126
117 127 // Récupérer le token JWT
118 128 $token = get_option('aibui_jwt_token', '');