Blokowanie użytkowników w REST API?

W REST API jest pewna skaza, która udostępnia publicznie loginy użytkowników Twojej strony. Jeżeli po dopisaniu /wp-json/wp/v2/users wyświetli Ci się lista użytkowników to znaczy, że nie chronisz wystarczająco danych użytkowników jak i swojej strony. W konsekwencji może to prowadzić do sytuacji kiedy zostanie złamane RODO. Poniższy kawałek kodu blokuje wyświetlanie listy użytkowników.

add_filter( 'rest_endpoints', 'rest_user_disable' );
 
function rest_user_disable( $endpoints ){
    if ( isset( $endpoints['/wp/v2/users'] ) ) {
        unset( $endpoints['/wp/v2/users'] );
    }
    if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
        unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
    }
    return $endpoints;
}

Natomiast ten kod, blokuje całkowicie REST API. Jeżeli nie korzystasz i nie będziesz korzystał z tej funkcjonalności wyłącz ją, dla swojego bezpieczeństwa i Twoich użytkowników.

add_filter( 'rest_authentication_errors', 'disable_rest_api', 99 );
function disable_rest_api() {
	return new WP_Error( 'wpzen_rest_api_disabled', 'REST API is disabled', array('status' => 403) );
}