Fermare admin-ajax?
È possibile semplicemente disabilitare/bloccare admin-ajax.php
dall'esecuzione?
Ho cercato nella documentazione di WordPress. Ho cercato su Google. Ho cercato in questo forum. Non ho trovato risposta.
Ho anche provato questo, ma non funziona:
// Funzione per fermare admin-ajax
function stop_ajax()
{
define( 'DOING_AJAX', false );
}
add_action( 'admin_init', 'stop_ajax' );
La prima cosa che admin-ajax.php
fa è definire DOING_AJAX
. Successivamente, carica wp-load.php
. Esegue altre operazioni, e la prima cosa che incontra e su cui hai il controllo è wp-config.php
.
Quindi, se vuoi bloccare tutte le richieste AJAX, puoi aggiungere il seguente codice al tuo file wp-config.php
.
if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
wp_die( '0', 400 );
}
Se non hai accesso al file wp-config
, o vuoi farlo tramite un plugin, puoi farlo anche in questo modo. Non è necessario aggiungerlo a un hook, perché se si tratta di una richiesta AJAX, DOING_AJAX
è già definito.
/**
* Plugin Name: Stop Ajax
*/
if( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
wp_die( '0', 400 );
}
Ci saranno effetti collaterali se stai usando plugin o temi che richiedono AJAX, quindi fai attenzione.
