Introduction

Une erreur 403 (Forbidden) signifie que le serveur a bien reçu la requête mais refuse d’y répondre : l’accès à la ressource est interdit par la configuration ou une règle de sécurité. Pour une définition technique, voir MDN — 403 Forbidden.

Ce guide propose une procédure d’investigation ordonnée : vérifications rapides, corrections fréquentes via cPanel (Gestionnaire de fichiers), contrôle du .htaccess, règles de sécurité (WAF / ModSecurity), permissions et journaux. Suivez les étapes une par une et joignez les éléments demandés si vous ouvrez un ticket support.

Prérequis

  • Accès à cPanel (ou FTP/Terminal) pour lire/modifier fichiers et permissions. Voir : Comment accéder à cPanel.
  • Sauvegarde récente du dossier web (public_html) avant toute modification.
  • Capacité à copier/coller des sorties de commandes et des lignes de logs si vous contactez le support.

Vérifications rapides (checklist)

  1. Ouvrez la page en navigation privée pour éliminer le cache navigateur.
  2. Testez depuis un autre réseau (4G ou VPN) pour exclure un blocage IP local ou opérateur.
  3. Confirmez le code HTTP depuis votre poste : curl -I -L https://votredomaine.tld/chemin. Si la première ligne est HTTP/1.1 403 (ou HTTP/2 403), le serveur renvoie bien 403.
  4. Vérifiez l’existence d’un fichier d’index (index.php, index.html) dans le répertoire demandé : son absence combinée à Options -Indexes conduit souvent à un 403.

Étapes de diagnostic et corrections (ordre conseillé)

1) Confirmer précisément le code HTTP

  1. Exécutez curl -I -L https://votredomaine.tld/chemin depuis un terminal. L’option -I affiche les en‑têtes, -L suit les redirections.
  2. Notez la première ligne (ex. HTTP/1.1 403 Forbidden) et l’URI demandé. Si la page renvoie un autre code (404, 500...), adaptez le diagnostic.

2) Tester le navigateur et l’IP

  • Videz le cache ou ouvrez en navigation privée / incognito.
  • Testez depuis un autre réseau (mobile) ou via un VPN pour vérifier si votre IP est bloquée.

3) Vérifier l’existence d’un index et tester avec un fichier simple

Absence d’index + Options -Indexes empêche l’affichage et renvoie 403. Pour vérifier depuis cPanel :

  1. Connectez‑vous à cPanel → Gestionnaire de fichiers (File Manager).
  2. Ouvrez le dossier public_html (ou la racine du site). Repérez les fichiers d’index (index.php, index.html).
Dossier public_html et commandes du Gestionnaire de fichiers cPanel
Vérifiez la présence d’un index dans public_html (cPanel – Gestionnaire de fichiers).

Si aucun index n’existe, créez temporairement un fichier de test :

  1. Dans File Manager : Nouveau fichier → nommez index.html → éditez et ajoutez <h1>OK</h1> → enregistrez.
  2. Rechargez l’URL dans votre navigateur. Si la page de test s’affiche, le 403 était lié à l’absence d’index ou à une règle d’indexation.
Formulaire Nouveau fichier dans le Gestionnaire de fichiers cPanel
Créer un fichier d’index simple depuis le Gestionnaire de fichiers pour tester l’accès.

4) Vérifier et corriger les permissions (fichiers et dossiers)

Permissions incorrectes sont une cause fréquente de 403. Procédure recommandée via cPanel :

  1. cPanel → File Manager → naviguez jusqu’au fichier/dossier concerné.
  2. Sélectionnez l’élément → cliquez sur Permissions (ou Clic droit → Change Permissions) → choisissez la valeur numérique.
Cases de lecture, écriture et exécution pour les permissions d’un fichier dans cPanel
Modifier les permissions d’un fichier depuis le Gestionnaire de fichiers (cPanel).

Règles pratiques :

  • Fichiers : 644 (rw‑r‑r‑).
  • Dossiers : 755 (rwxr‑xr‑x).
  • Certains hébergements exigent 750 pour public_html — contactez le support si vous n’êtes pas sûr.

Pour utilisateurs avancés avec Terminal/SSH (ou cPanel Terminal) :

cd ~/public_html
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Terminal cPanel avec la commande cd public_html pour accéder au dossier web
Exécution de commandes depuis Terminal (réservé aux utilisateurs avancés).

Attention : n’appliquez pas chown vous‑même ; la modification de propriétaire nécessite souvent des droits root et peut casser l’accès. Contactez le support si vous suspectez un problème d’appartenance.

5) Contrôler le fichier .htaccess

Le .htaccess peut bloquer l’accès via des directives Deny, Require ou des règles de réécriture qui forcent un état F (Forbidden).

Repérer le fichier .htaccess dans le Gestionnaire de fichiers cPanel
Affichez les fichiers cachés (dotfiles) puis localisez .htaccess à la racine du site.
  1. Afficher les fichiers cachés dans File Manager (dotfiles) → localisez .htaccess.
  2. Téléchargez‑en d’abord une copie (sauvegarde), puis ouvrez‑le en mode Code Editor / Edit.
  3. Recherchez et commentez temporairement les lignes suspectes en ajoutant # devant (ex. #Require all denied) → enregistrez et testez la page.

Lignes souvent responsables d’un 403 :

  • Require all denied (bloque tout accès sous Apache 2.4+).
  • Deny from (ancienne syntaxe Apache).
  • RewriteRule .* - [F] (force un Forbidden sur des patterns).
  • Options -Indexes + absence d’index → 403 pour la liste du dossier.

Si le site revient après modification, restaurez proprement les règles nécessaires et corrigez la logique plutôt que de supprimer les protections.

6) Rechercher un blocage WAF / ModSecurity

Un pare‑feu applicatif (ModSecurity, Imunify360…) peut bloquer des requêtes légitimes par faux positif.

Accéder à Imunify360 depuis le tableau de bord cPanel
Si Imunify360 (ou un WAF) est actif, consultez ses alertes depuis cPanel.
  1. Ouvrez l’outil WAF (Imunify360, ModSecurity interface) via cPanel si présent et recherchez les blocages récents.
  2. Consultez les journaux d’audit ModSecurity (extrait modsec_audit) ou le journal d’erreurs Apache autour de l’horodatage.
  3. Si une règle bloque votre requête, joignez l’extrait d’audit au support — demandez le débogage/assouplissement de la règle ciblée plutôt qu’une désactivation globale.

Important : ne désactivez pas le WAF globalement sans justification — cela expose le site à des risques.

7) Vérifier un blocage d’IP / firewall

Un blocage d’adresse IP (IP Blocker, fail2ban, Imunify360, ou un CDN externe) peut provoquer un 403.

Formulaire de blocage d’une adresse IP dans cPanel
Vérifiez la liste des IP bloquées depuis l’outil Bloqueur IP (IP Blocker) de cPanel.
  1. cPanel → IP Blocker : recherchez votre adresse IP (ou celle du visiteur affecté) et débloquez si nécessaire.
  2. Si vous utilisez un CDN (Cloudflare, etc.), vérifiez également sa configuration (règles de pare‑feu ou restrictions d’IP).

8) Cas WordPress : extensions et règles de sécurité

Un plugin de sécurité ou mal configuré peut renvoyer un 403. Test simple :

  1. cPanel → File Manager → ouvrez wp-content.
  2. Renommez plugins en plugins.disabled (cela désactive toutes les extensions) → testez la page.
  3. Si l’erreur disparaît, restaurez le nom et désactivez/réactivez les plugins un par un pour isoler le fautif.
Dialogue pour renommer le dossier plugins de WordPress dans cPanel
Renommer le dossier plugins permet de désactiver rapidement toutes les extensions.

9) Problèmes d’appartenance des fichiers (suEXEC, PHP‑FPM)

Si les fichiers ne sont pas détenus par l’utilisateur cPanel attendu, l’exécution via suEXEC / PHP‑FPM peut être refusée et produire un 403. Confirmez avec les logs (suexec_log, erreurs Apache).

Correction : la remise en propriété (chown) est une opération côté serveur qui requiert des droits administrateur ; ouvrez un ticket support si vous suspectez ce cas.

Dépannage avancé et commandes utiles

  • Confirmer les en‑têtes : curl -I -L https://votredomaine.tld/chemin
  • Tester avec un user‑agent simple : curl -I -A "curl" https://votredomaine.tld/
  • Capturer l’erreur serveur (si vous avez accès au Terminal) : tail -n 200 /var/log/apache2/error_log — les chemins de logs varient selon la configuration ; demandez le chemin exact au support si nécessaire.
  • Obtenir l’événement ModSecurity : joignez l’extrait du fichier d’audit (modsec_audit) qui correspond à votre horodatage.

Quand contacter le support — que fournir

Si après ces vérifications la page renvoie toujours 403, ouvrez un ticket et joignez les éléments suivants :

  1. L’URL exacte qui renvoie 403.
  2. Heure(s) et fuseau horaire de l’incident.
  3. Sortie de curl -I -L https://votredomaine.tld/chemin (copier/coller).
  4. Extraits des journaux d’erreur et/ou ModSecurity (si disponibles) autour du même horodatage.
  5. Capture d’écran du Gestionnaire de fichiers montrant les permissions et le fichier .htaccess (sans informations confidentielles).
  6. Indiquez si vous avez récemment modifié des plugins, thèmes, permissions ou le .htaccess.

Si vous ne savez pas récupérer ces éléments, demandez au support d’extraire les logs pour la période indiquée ; fournissez l’URL et l’heure exacte pour accélérer la recherche.

Limitations et précautions

  • Ne désactivez pas globalement ModSecurity / WAF sans diagnostic ; demandez plutôt l’examen d’une règle ciblée.
  • Ne modifiez pas la propriété des fichiers (chown) sauf si vous disposez d’un accès root ou sur instruction du support.
  • Faites toujours une sauvegarde avant de modifier .htaccess ou d’appliquer des chmod en masse.
  • Sur un hébergement mutualisé, certaines actions (logs serveur, chown) nécessitent l’intervention de l’administrateur ; préparez un ticket si nécessaire.

Résumé rapide (si vous êtes pressé)

  1. Confirmez 403 : curl -I -L https://votredomaine.tld/chemin.
  2. Vérifiez index : créez temporairement un index.html via File Manager pour tester l’accès.
  3. Permissions : fichiers 644, dossiers 755 (corrigez via File Manager).
  4. Inspectez .htaccess (recherchez Require all denied, Deny from, [F] dans les RewriteRule).
  5. Contrôlez les logs / ModSecurity ; si une règle bloque la requête, joignez l’extrait au support pour qu’ils l’examinent.

Liens internes utiles

Références publiques

Besoin d’aide pour préparer le message à joindre au support (ex. : URL + sortie curl -I + actions déjà testées) ? Je peux générer un modèle de ticket prêt à coller si vous me fournissez l’URL et la sortie de curl -I (sans transmettre de mots de passe).

Documentation de référence

  • MDN — 403 Forbidden (HTTP status)
  • cPanel — File Manager (Change Permissions)
  • cPanel — The cPanel & WHM Log Files (modsec_audit, suexec_log)

Documentation consultée le 16 octobre 2026. Les outils peuvent varier selon votre hébergement.