Blocage de l'apostrophe; code 271

aeSecure bloque les URLs qui contiennent une apostrophe car ce type d'URL pourrait contenir des injections SQL ou des attaques de type XSS.  Le code de blocage affiché par aeSecure est 271 et le message d'erreur est :"Code 271 : L'URL contient des caractères non autorisés".

Si vous souhaitez permettre une URL contenant une apostrophe (ou %27 qui est son équivalent lorsque l'apostrophe est "échappée"), il vous faut créer une exception.

Imaginons l'URL https://www.aesecure.com/fr/component/search/?searchword=l%27optimisation qui est générée par le composant de recherche de Joomla.   La recherche porte sur "l'optimisation".

Pour créer une exception, il faut isoler la variable qui reprend la chaîne recherchée, ici, c'est "searchword".

Ensuite il faut identifier le bloc de règles du fichier .htaccess qui est responsable du blocage.  Pour cela, sachant que le code est 271, éditez votre fichier .htaccess et rechercher "s=271".  Vous trouverez un bloc de ligne comme celui-ci : 

 # No carriage return, line feed, escape (%27), ... in the query string
 # Block f.i. http://yoursite/index.php?value=%27
 RewriteCond %{QUERY_STRING} ^.*(<|>|'|%0A|%0D|%25|%27|%3C|%3E|%00).* [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*((\/\*)?\*\/).* [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*\|\|.* [NC]
 RewriteRule .* /aesecure/accessdenied.php?s=271 [L]

Et ajouter une ligne juste avant le RewriteRule pour créer votre exception. Dans l'exemple ci-dessus, l'exception pourrait être :

 # No carriage return, line feed, escape (%27), ... in the query string
 # Block f.i. http://yoursite/index.php?value=%27
 RewriteCond %{QUERY_STRING} ^.*(<|>|'|%0A|%0D|%25|%27|%3C|%3E|%00).* [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*((\/\*)?\*\/).* [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*\|\|.* [NC]
 RewriteCond %{QUERY_STRING} !.*searchword=(.*)$ [NC]  
 RewriteRule .* /aesecure/accessdenied.php?s=271 [L]

Sauvez votre fichier .htaccess en prenant bien soin de le sauver au format UTF8-NoBom.

Lire aussi l'article "Identifier un blocage et le résoudre" pour en apprendre davantage sur la création d'exception.

Back to top