📅  最后修改于: 2023-12-03 14:40:42.982000             🧑  作者: Mango
Lors du développement d'un thème WordPress, il peut être nécessaire de désactiver l'exposition des utilisateurs admins aux niveaux de l'API wp-json afin de renforcer la sécurité. Voici comment accomplir cela en utilisant du code PHP :
// Désactiver l'exposition des utilisateurs admins aux niveaux de l'API wp-json
function disable_admin_user_api_endpoint( $response, $endpoint ) {
// Vérifier si l'endpoint est celui des utilisateurs
if ( strpos( $endpoint, '/wp/v2/users' ) !== false ) {
// Récupérer le rôle de l'utilisateur connecté
$user = wp_get_current_user();
$roles = (array) $user->roles;
// Vérifier si l'utilisateur a le rôle d'administrateur
if ( in_array( 'administrator', $roles ) ) {
// Retourner une réponse vide
$response = new WP_REST_Response();
$response->set_status( 403 );
}
}
return $response;
}
add_filter( 'rest_request_after_callbacks', 'disable_admin_user_api_endpoint', 10, 2 );
Ce code utilise le hook rest_request_after_callbacks
pour intercepter les requêtes vers l'API wp-json qui sont en rapport avec les utilisateurs. Il vérifie si l'utilisateur connecté a le rôle d'administrateur grâce à la fonction wp_get_current_user()
et wp_rest_validate_request_arg()
. Si c'est le cas, il retourne une réponse vide avec un statut 403 (interdit).
Pour utiliser ce code, vous pouvez l'ajouter dans le fichier functions.php
de votre thème WordPress ou dans un plugin personnalisé.
Assurez-vous de bien tester cette fonctionnalité après l'avoir implémentée afin de vous assurer qu'elle répond à vos besoins en termes de sécurité.