NouveauBlack Friday : 50 % de réduction sur votre premier paiement
Dépannage WordPress

403 Interdit sur un site WordPress

La requête a été comprise et refusée. Le refus est venu du serveur web, d'un pare-feu ou d'une règle de permissions — WordPress est rarement impliqué.

403 Forbidden — You don't have permission to access this resource.

Réponse rapide

Notez si le site 403s entier ou seulement quelques URLs, et si elle vous suit ou seulement affecte un réseau. Un site 403 est presque toujours des permissions de fichiers ou une règle de réécriture; celui qui suit une personne unique est un bloc IP.

Diagnostic

Les causes les plus probables d’abord.

Parcourez la liste dans l’ordre. Vérifiez chaque cause avant de modifier quoi que ce soit : les correctifs diffèrent et une supposition coûte plus cher qu’une commande.

CauseComment vérifierCorrectif
Fichier ou répertoire autorise le serveur Web ne peut pas lireL'erreur est à l'échelle du site et constante. Les répertoires doivent être transposables et les fichiers lisibles par l'utilisateur du serveur Web; tout ce qui est plus restrictif produit exactement cela.Définir les répertoires à 755 et les fichiers à 644, appartenant à l'utilisateur PHP fonctionne comme. Une restauration d'une sauvegarde prise sur un autre hôte est la raison habituelle qu'ils ont dérivé.
Un plugin de sécurité a bloqué votre adresseD'autres personnes peuvent utiliser le site normalement et un réseau différent fonctionne pour vous aussi. Le journal de bord du plugin enregistre le bloc avec votre adresse et une raison.Effacer le bloc de la liste du plugin, puis relever le seuil qui l'a déclenché. Les connexions répétées échouées sont le déclencheur le plus courant.
Une règle de réécriture ou d'accès nie le cheminSeules certaines URL échouent — wp-login.php, wp-admin, xmlrpc.php — alors que le reste du site est parfait.Trouvez la règle de refus dans la configuration du serveur ou .htaccess. Les extraits de durcissement copiés dans un tutoriel sont la source habituelle, et ils limitent souvent plus que prévu.
Le fichier index est manquant ou non listéUne URL de répertoire 403s où fonctionne une URL de fichier dans le même répertoire. Le serveur refuse de lister un répertoire qui n'a rien à servir par défaut.Restaurer le fichier d'index manquant, ou confirmer les points racine du document où vous pensez qu'il le fait. Une racine mal dirigée ressemble exactement à un problème de permissions.
Guide

Corriger l’erreur, étape par étape.

Les commandes supposent un accès à WP-CLI et au terminal. Si vous n’en disposez pas, chaque étape explique comment procéder depuis le tableau de bord ou via SFTP.

  1. Établir la forme de l'échec

    Site-wide ou un chemin ; tout le monde ou seulement vous. Ces deux réponses suppriment la plupart de la liste avant que n'importe quelle commande ne soit exécutée.

    curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/
    curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/wp-login.php
  2. Lire l'explication du serveur

    Un 403 est presque toujours enregistré avec une raison, et la raison donne le nom de la couche qui a refusé.

    tail -n 50 /var/log/nginx/error.log
  3. Rétablir la propriété et les autorisations

    Les répertoires traversables, les fichiers lisibles, tous deux détenus par l'utilisateur PHP. Exécutez depuis la racine du site.

    find . -type d -exec chmod 755 {} \;
    find . -type f -exec chmod 644 {} \;
  4. Sortir .htaccess de l'équation

    Renommer plutôt que de l'éditer, vous pouvez donc le remettre inchangé. WordPress réécrit un nouveau sur demande.

    mv .htaccess .htaccess.bak
    wp rewrite flush --hard
  5. Confirmer à partir d'un autre réseau

    Si le site répond d'ailleurs tout en vous refusant, c'est un bloc d'adresses et aucun changement de permission ne vous aidera.

    curl -sS -o /dev/null -w '%{http_code}\n' --interface eth1 https://example.com/
Sur MagicWP

Ce que la plateforme prend en charge.

La propriété du fichier est définie à l'utilisateur du site au moment du déploiement et gardée par la plate-forme, de sorte que la dérive de la permission qui suit une restauration manuelle ne se produit pas ici. Le blocage se fait au bord plutôt que par un plugin à l'intérieur de WordPress, ce qui signifie qu'une adresse bloquée n'a jamais atteint PHP et, tout aussi utile, un administrateur qui se verrouille peut être laissé en arrière sans accès à la base de données.

Questions fréquentes

Questions fréquentes.

Pourquoi tout le monde peut-il utiliser le site alors que je ne peux pas?
Parce que le refus est lié à votre adresse plutôt qu'au site. Un plugin de sécurité ou un pare-feu vous a ajouté à une liste de blocs, généralement après des connexions répétées échouées, et le bloc suit votre réseau plutôt que votre compte.
Devrais-je mettre les permissions à 777 pour les tester?
Non. Il corrige rarement un authentique 403 et rend chaque fichier enregistrable par n'importe quel élément qui fonctionne sur la machine, qui convertit une page cassée en une page exploitable. 755 et 644 avec la propriété correcte est la cible.
Le 403 n'apparaît que sur wp-admin. Qu'est-ce que cela suggère ?
Une règle d'accès délibérée plutôt qu'une faute. Quelqu'un a limité le chemin d'administration par adresse ou ajouté l'authentification devant elle, et la restriction a survécu qui l'a ajouté.
En quoi un 403 est-il différent d'un 401 ?
A 401 demande des lettres d'identité et les acceptera. A 403 a déjà décidé, et l'envoi des lettres d'identité ne change pas la réponse.
Erreurs associées

Si le problème vient d’ailleurs.

Ces erreurs peuvent se présenter de façon similaire dans le navigateur.