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.