- WordPress :5.8
- Statut : non résolu
- Ce sujet contient 4 réponses, 2 participants et a été mis à jour pour la dernière fois par
Olivier C, le il y a 2 années et 10 mois.
-
AuteurMessages
-
15 août 2022 à 0 h 49 min #2414689
Bonjour,
J’essai de désactiver l’API REST de WordPress (activée par défaut !!!) mais rien à faire : lorsque je vais voir sur
mon-domaine.truc/wp-json/wp/v2
j’ai droit à mes données bien exposées à mon insu dans un format JSONP. J’avais trouvé ceci à plusieurs endroits :// Disable REST API
// @link https://wpadminify.com/kb/how-to-disable-the-rest-api-in-wordpress/
// Filters for WP-API version 1.x
add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');
// Filters for WP-API version 2.x
add_filter('rest_enabled', '__return_false'); // deprecated
add_filter('rest_jsonp_enabled', '__return_false');J’ai essayé de le placer dans functions.php avec ou sans c’est ‘add_action’ mais rien n’y fait… une idée ?
-
Ce sujet a été modifié le il y a 2 années et 10 mois par
Olivier C.
15 août 2022 à 8 h 44 min #2414732A mince, ce que j’ai publié plus haut est la version legacy du code pour WordPress < 4.7, maintenant c’est bien plus compliqué…
N’y a t’il pas plus simple ? Même si plus radical (comme par exemple supprimer toutes les fonctionnalités JSON sous WP) ?
15 août 2022 à 11 h 39 min #2414757C’est bon, j’ai trouvé : Safely disable WP REST API. Mais qu’est-ce que l’on ne ferait pas sans Stackoverflow…
Du coup c’est trop cool l’activation de ces fonctionnalités par défaut (rire) : grâce à ça vos données sont exposées suite à une mise à jour sans que vous n’ayez rien demandé. Si vous êtes encore en versions 4.7.0 ou 4.7.1 n’importe qui peut modifier vos données sans avoir à s’authentifier (il y a eu un path à partir de 4.7.2).
Bravo WordPress.
-
Cette réponse a été modifiée le il y a 2 années et 10 mois par
Olivier C.
15 août 2022 à 13 h 07 min #2414764Bonjour,
Attention cette extension n’a plus été mises a jour depuis 1 an!
Si vous utilisez une extension de sécurité comme Itheme Security
vous pouvez spécifier un accés restreint a l’API REST et vous n’avez pas accés aux points
de terminaisons comme posts,users etc.. quelque soit votre statut de connexion.En complémént avec le hook: rest_url_prefix donné sur Stackoverflow alors
cela devient pas mal!// Personnaliser le préfixe wp-json
// Assurez-vous d'aller dans Tableau de bord> Paramètres> Permaliens
// et appuyez sur le bouton Enregistrer pour vider/réécrire le cache d'url
add_filter( 'rest_url_prefix', 'rest_api_url_prefix' );
function rest_api_url_prefix() {
return 'eccp-api';
}Une autre extension qui fait un peu la même chose que Itheme Security
https://wordpress.org/plugins/disable-wp-rest-api/Un code qui désactive l’API REST, mais votre site risque de ne plus fonctionner
car certaines extensions utilisent l’API REST// Désactiver l'API REST
function disable_rest_api( $access ) {
return new WP_Error( 'rest_disabled', __( 'The WordPress REST API has been disabled.' ), array( 'status' => rest_authorization_required_code() ) );
}
add_filter( 'rest_authentication_errors', 'disable_rest_api' );15 août 2022 à 13 h 29 min #2414765Merci. Oui j’avais vu passer le code sur Stack pour la personnalisation du slug. Mais au final je pense que je vais adopter une solution apache, je traiterais ainsi les pages d’images attachées de la même manière (car pour l’instant j’utilise le fichier image.php avec une redirection, c’est pas glop). Je ne suis pas chez moi pour tester mais je pense que je vais adopter un truc comme ça :
# .htaccess
RewriteRule ^wp-json.*$ 404.phpVu que je n’utilise pas de plugins…
-
Ce sujet a été modifié le il y a 2 années et 10 mois par
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.