securite joomlaComme vous le savez pour accéder au back office de votre site Joomla, il suffit de taper l'URL "www.monsite.fr/administrator", administrator étant le nom du dossier principal de Joomla. Bien que Joomla soit très bien sécurisé, vous voudriez peut-être modifier le nom du dossier administrator pour qu'il soit moins accessible. Voilà comment faire.

 

Edit 07/08/2018 : le script ci-dessous est obsolète, nous le laissons néanmoins car il se retrouve à plusieurs endroits sur le net; il est donc inutile d'essayer de le reproduire avec ses différentes variantes.

Pour protéger de différentes façons le dossier "administrator nous recommandons les solutions suivantes, surtout dans leur version payante :

AdminExile
Admin Tools

Avec ces solutions vous pourrez modifier ou enrichir l'url "administrator", protéger le dossier avec un mot de passe, restreindre à des adresses Ip autorisées etc...

icone secuLes étapes à suivre

Nous allons nous baser sur le fait de changer le nom "administrator" en "admin" :

  1. Créez un dossier "admin" à la racine de votre site
  2. Créez un fichier "index.php" que vous placerez à l'intérieur de ce nouveau dossier "admin"
  3. Ecrivez le code suivant dans le nouveau fichier "index.php"
$admin_cookie_code= »1234567890″; 
setcookie(« JoomlaAdminSession »,$admin_cookie_code,0, »/ »);
header(« Location: /administrator/index.php »);?>

icone secuModification du fichier .htaccess

Maintenant il faut modifier (ou créer) le fichier .htaccess qui se trouve dans le dossier "Administrator" de votre site Joomla. La modification consiste à rajouter la ligne suivante :

RewriteEngine On RewriteCond %{REQUEST_URI} ^/administrator RewriteCond %{HTTP_COOKIE} !JoomlaAdminSession=506871291015648 RewriteRule .* - [L,F]

A présent, pour accéder à votre back office de votre site web Joomla, il faudra que vous tapiez comme URL : www.monsite.fr/admin

icone secuComment ça fonctionne ?

En réalité, cette méthode ne renomme pas directement le dossier "Administrator" mais si quelqu'un tente d'accéder à votre back office en tapant l'URL "www.monsite.fr/administrator", alors il tombera sur un message d'erreur lui indiquant que la page n'existe pas.

En vous rendant sur "www.monsite.fr/admin", vous allez récupérer un cookie et être redirigé automatiquement vers "www.monsite.fr/administrator" grâce au fichier .htaccess qui va interroger le serveur pour savoir si le cookie est bien présent.

Si vous avez des questions, n'hésitez pas à vous s'inscrire sur notre forum, nous nous ferons un plaisir de vous aider.
 
L'auteur : un expert à votre service
Geoffrey LEOST
Nom : Geoffrey LEOST

Commentaires (8)

This comment was minimized by the moderator on the site

merci

This comment was minimized by the moderator on the site

Merci chers experts

This comment was minimized by the moderator on the site

Super tuto une merveille merci Geoffray

This comment was minimized by the moderator on the site

Bonjour,
Sans doute suis-je un peu à côté de la plaque
En faisant exactement comme précisé, (sauf ajoutant <?php en tête du index.php qui est situé dans le nouveau répertoire admin), j'obtient une erreur 500.
J'ai eu un doute concernant les «...

Bonjour,
Sans doute suis-je un peu à côté de la plaque
En faisant exactement comme précisé, (sauf ajoutant <?php en tête du index.php qui est situé dans le nouveau répertoire admin), j'obtient une erreur 500.
J'ai eu un doute concernant les « et » et ça me fait soulever quelques questions :

- ne faut-il pas remplacer les guillemets visibles sur cette page par des " ou des ' , de manière à obtenir :

<?php
$admin_cookie_code="1234567890"; 
setcookie("JoomlaAdminSession",$admin_cookie_code,0,"/");
header("Location: /administrator/index.php");?>


- Dans le fichier .htaccess de /administrator, ne doit-on pas avoir une correspondance entre JoomlaAdminSession=506871291015648 et $admin_cookie_code ?
De mon côté, en remplaçant les guillemets comme ci-dessus, la redirection s'effectue bien mais il ne semble pas tenir compte du cookie --&gt; erreur 500.

Quelqu'un peut-il m'aider ?

Lire la suite
Dernière édition du commentaire il y a environ 11 ans par Jean-Charles Gautard Jean-Charles Gautard
This comment was minimized by the moderator on the site

bonjour Pierrot,
après la mise en place de l'index.php dans le répertoire de ton choix et la modification du fichier htaccess.

tu dois juste taper l'url http://www.monsite.fr/monrepertoirecontenantlefivhierphp. sans rien mettre après, le fichier...

bonjour Pierrot,
après la mise en place de l'index.php dans le répertoire de ton choix et la modification du fichier htaccess.

tu dois juste taper l'url http://www.monsite.fr/monrepertoirecontenantlefivhierphp. sans rien mettre après, le fichier index te redirigera alors dans le répertoire administrator en créant au préalable un cookie.
je te conseil aussi dans ton fichier htaccess de traiter les erreur en ajoutant :

RewriteEngine On
ErrorDocument 400 /error.php?erreur=400
ErrorDocument 401 /error.php?erreur=401
ErrorDocument 403 /error.php?erreur=403
ErrorDocument 404 /error.php?erreur=404
ErrorDocument 405 /error.php?erreur=405
ErrorDocument 408 /error.php?erreur=408
ErrorDocument 414 /error.php?erreur=414
ErrorDocument 500 /error.php?erreur=500
ErrorDocument 502 /error.php?erreur=502
ErrorDocument 504 /error.php?erreur=504
RewriteCond %{REQUEST_URI} ^/administrator
RewriteCond %{HTTP_COOKIE} !JoomlaAdminSession=XXXXXXXX les XXXX correspondent à la suite de ciffre que tu à mis dans l'index.php du répertoire de ton choix
RewriteRule ^(.*)$ /error.php?erreur=404 [L,R=404]

ci après le contenu du fichier error.php à placer à la racine de ton ftp :

<!doctype html>
<html>

<head> <?php switch($_GET['erreur']){ case '400': $title = "Bad Request (400)"; $Erreur = "400"; $Message = "La syntaxe de la requête est erronée"; break; case '401': $title = "Unauthorized (401)"; $Erreur = "401"; $Message = "Une authentification est nécessaire pour accéder à la ressource."; break; case '402': $title = "Payment Required (402)"; $Erreur = "402"; $Message = "Paiement requis pour accéder à la ressource."; break; case '403': $title = "Forbidden (403)"; $Erreur = "403"; $Message = "Vous n'êtes pas autorisé à visiter cette page"; break; case '404': $title = "Not Found (404)"; $Erreur = "404"; $Message = "La page que vous recherchez n'existe pas."; break; case '405': $title = "Method Not Allowed (405)"; $Erreur = "405"; $Message = "Méthode de requête non autorisée."; break; case '500': $title = "Internal Server Error (500)"; $Erreur = "500"; $Message = "Erreur interne du serveur ou serveur saturé."; break; case '501': $title = "Not Implemented (501)"; $Erreur = "501"; $Message = "Fonctionnalité réclamée non supportée par le serveur."; break; case '502': $title = "Bad Gateway (502)"; $Erreur = "502"; $Message = "Mauvaise réponse envoyée à un serveur intermédiaire par un autre serveur."; break; case '503': $title = "Service Unavailable (503)"; $Erreur = "503"; $Message = "Service temporairement indisponible ou en maintenance."; break; case '504': $title = "Gateway Time-out (504)"; $Erreur = "504"; $Message = "Temps d’attente d’une réponse d’un serveur à un serveur intermédiaire écoulé."; break; case '505': $title = "HTTP Version not supported (505)"; $Erreur = "505"; $Message = "Version HTTP non gérée par le serveur."; break; default: $title = "Erreur"; $Erreur = "000"; $Message = "Erreur non référencée."; } ?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title><?php echo $title;?></title> <meta name="viewport" content="width=device-width, maximum-scale=1.0" /> <meta name="keywords" content=",terra corsica, locations vacances Corse, reseau social, annuaire, Corse, meteo locale Corse"> <meta name="description" content="Locations vacances Corse, locations Corse de Villas Maisons Appartements ""."> <style type="text/css">

@import url(http://fonts.googleapis.com/css?family=Dosis:400,700);

body { font-family: "Dosis", Helvetica, Arial, sans-serif; background: url(http://www.terra-corsica.fr/images/fond.jpg) no-repeat center fixed; -webkit-background-size: cover; /* pour Chrome et Safari */ -moz-background-size: cover; /* pour Firefox */ -o-background-size: cover; /* pour Opera */ background-size: cover; /* version standardisée */ /*background:#333;*/ color:#fff; position:relative; font-size:80%

} .pageerreur { width:960px; margin: 0 auto; text-align:center } h1 { margin:10% 0 30px 0; font-weight: 400; font-size: 10em; }

h1 a { border: none !important; }

p { padding: 30px 0; font-size: 1.5em; font-weight: 700; text-transform: uppercase; border-top: 1px solid #808080; border-bottom: 1px solid #808080; } a { color: #fff; text-decoration: none; -webkit-transition:color 0.2s ease; -moz-transition:color 0.2s ease; -o-transition:color 0.2s ease; transition:color 0.2s ease; border-bottom: 1px solid #fff; } a:hover, a:focus { color: #339ABB; border-bottom: 1px solid #339ABB; } @media only screen and (max-width: 1023px) { html { -webkit-text-size-adjust:100%; } .pageerreur { max-width: 80%; min-width: 300px; } } </style> </head> <body> <div class="pageerreur"> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <h1><a href="/" title="Retour à l'accueil"><?php echo $Erreur; ?></a></h1> <p><?php echo $Message;?><br /><br /> <a href="/">Revenir sur le site</a> - <a href="javascript:history.go(-1)">Retour</a></p> </div> </body> </html>

Lire la suite
Dernière édition du commentaire il y a environ 11 ans par Jean-Charles Gautard Jean-Charles Gautard
This comment was minimized by the moderator on the site

J'ai suivi la procédure pas et j'ai une erreur quand je tape admin/
et l'administration s'affiche avec /administrator/
comme pierrot-01 j'ai ajouté <?php
Mais je ne note pas de changements ? Cette procédure est toujours valable ?

This comment was minimized by the moderator on the site

@pierrot-01 et @CMOA :
Je crains que ce tuto ne doivent être mis à jour mais je vous propose une alternative bien meilleure : AdminExile

This comment was minimized by the moderator on the site

Bonjour,
Oui, plus qu’obsolète, une antiquité.

Il n'y a pas encore de commentaire pour cet article.

Ajouter vos commentaires

  1. Insérer un commentaire en tant qu'invité.
Pièces jointes (0 / 3)
Share Your Location
Contact
Dernier article sur la même thématique
Les fondamentaux de la sécurité pour protéger votre TPE / PMELes fondamentaux de la sécurité pour protéger votre TPE / PME
Les gérants d’entreprises de petite et moyenne taille s’imaginent trop souvent à l’abri des cyberattaques et plus généralement des sujets afférents à la cybersécurité. Et pourtant, en pratique, c...