Identifier un blocage et le résoudre

Le fichier .htaccess mis en place par aeSecure durant l'activation de l'option 1.1 ou les ajouts implémentés lors de l'activation d'autres fonctions peuvent avoir un impact sur l'une ou l'autre URL de votre site en les bloquant.

En effet, selon le CMS, selon le composant à l'oeuvre, ... une URL qui était jusqu'alors valide est maintenant bloquée par aeSecure.

Comment identifier la source du blocage ? 

Voyez la capture d'écran ci-dessous.  Cette capture reprend les deux informations requises : l'URL bloquée (partiellement masquée ici) et le code du blocage (490 dans cet exemple).

aeSecure - Identification d'un blocage et résolution

aeSecure - Identification d'un blocage et résolution

L'identification du blocage, c'est juste cela : retrouver le code (490) et l'URL.  Avec ces deux éléments, vous allez pouvoir retrouver la portion de code du .htaccess qui est à l'origine du blocage.

Comment lever le blocage ? 

En possession du code (490), il va vous falloir éditer le fichier .htaccess se trouvant à la racine de votre site web.   Avant cela, légère précaution, prenez une copie de sauvegarde du fichier.

Avant de modifier le fichier .htaccess, prenez bien soin d'utiliser un éditeur de texte brut (pas Wordpad ni Microsoft Word mais pas non plus Notepad si vous êtes sous Windows).  Il  faut utiliser un éditeur "texte brut" qui permet de sauver un fichier avec un encodage UTF8 NoBOM (aussi appelé UTF8 without BOM).  Sous Windows, Notepad++ (gratuit) le fait parfaitement.

  1. Connectez-vous sur votre site avec votre client FTP (à proscire : modifier le fichier .htaccess en ligne, depuis un gestionnaire de fichiers tels que eXtplorer; c'est la pire meilleure idée que vous auriez).
  2. Rendez-vous à la racine de votre site web.
  3. Localisez le fichier .htaccess et dupliquez-le ou téléchargez-en une copie avant modification.
  4.  Éditez le fichier.
  5. Faites une recherche sur "s=999" où 999 est le code du blocage (et donc recherchez "s=490" dans l'exemple ci-dessus).
  6. Vous allez trouver un paragraphe càd un bloc de lignes avec plusieurs lignes débutant par RewriteCond et se terminant (dernière ligne du bloc) par la ligne RewriteRule et la portion de code que vous avez recherché (exemple ci-dessous, capture d'écran tronquée sur sa droite)aeSecure - Bloc du .htaccess identifié
    aeSecure - Bloc du .htaccess identifié
  7. Le bloc identifié, les choses se compliquent un "peu" plus; voire davantage : comprendre la raison du blocage.   Reprennons l'URL qui était bloquée : il s'agissait d'une page PHP (clientsccdetails.php) suivi de paramètres (?userid=192&action=clear&token=xxxxxxxxxxx).   La probabilité de blocage se situe au niveau des paramètres.
  8. En regardant l'URL, le "userid" est inoffensif, "clear" pourrait être un mot réservé et la mention d'un token dans l'URL pourrait aussi être bloquante.    Si on lit le code source identifié (ci-dessus), on peut y déceler que le mot "clear" est repris dans la liste.   En effet, le mot clear apparaît sur cette ligne : RewriteCond %{QUERY_STRING} ^(.*)([-_a-z]{1,15})=(chmod|chdir|mkdir|rmdir|clear|whoami|uname|unzip|gunzip|grep|umask  (partiel)
  9. RewriteCond indique une condition qui permettra de faire un blocage, QUERY_STRING indique que la condition doit porter sur le ... querystring (ce qui suit le point d'interrogation dans l'URL) et nous pouvons encore lire le signe "=" suivi de plusieurs mots clefs dont "clear".
  10. La résolution devient simple : il faut supprimer ce mot de la liste.  Notez qu'il convient aussi de supprimer le caractère | (barre verticale), la ligne devenant alors : RewriteCond %{QUERY_STRING} ^(.*)([-_a-z]{1,15})=(chmod|chdir|mkdir|rmdir|whoami|uname|unzip|gunzip|grep|umask (partiel)
  11. Avant de sauver le fichier, veuillez absolument vérifier que vous êtes en UTF8-NoBOM.  Vérifiez cela dans le menu Encoding si vous êtes sous Notepad++.

Une fois le fichier .htaccess modifié, sauvé et transféré sur votre site, retournez dans votre navigateur et réessayez d'accéder à l'URL qui était bloquée.

Si elle n'est plus bloquée, félicitations !

Si elle est toujours bloquée, continuez vos recherches.

Si vous obtenez une page d'erreur 500 - Erreur serveur; il y a deux possibilités : soit vous avez endomagé votre fichier .htaccess (en ne l'ayant pas sauvé en UTF8 NoBom p.ex.) soit vous avez commis une erreur de syntaxe lors de votre modification.  Dans tous les cas, le plus simple étant alors de récupérer la sauvegarde que vous aviez faite du .htaccess et de recommencer votre recherche.

Remarque

Si le bloc de lignes a été ajouté lors de l'activation d'une fonctionnalité d'aeSecure, vous verrez quelque chose comme ceci : 

aeSecure - Bloc identifié - Résultant d'une fonction

aeSecure - Bloc identifié - Résultant d'une fonction

Cette ligne (toujours en seconde position) indique que ce bloc a été ajouté par l'option 1.7 (p.ex.) d'aeSecure.  Pour en modifier son contenu, il suffit alors de se rendre dans votre interface aeSecure, option 1.7 et d'en modifier les valeurs.   L'exemple pris ci-dessus concerne des fichiers dont l'accès est bloqué par aeSecure.

Nul besoin ici de modifier manuellement le fichier .htaccess et de prendre le risque de le corrompre.

Note : si vous ne voyez pas cette ligne-là (#aeSecure 9.9), le bloc fait alors partie de la fonction 1.1 càd du "gros" fichier .htaccess mis en place par l'option 1.1 d'activation d'aeSecure.

Back to top