Bloquer les fonctions utilisateurs de Joomla

De Vulgum Techus
Aller à : Navigation, rechercher
Lien court vers cette page : https://vt.cx/BfuJ
QR code vers cette page : https://vt.cx/BfuJ.qr


Versions Joomla 1.6, 1.7, 2.5.x, 3.x

Présentation

Avec Joomla il faut distinguer l'inscription au site via :

http://site.tld>/index.php?option=com_users&view=registration

des autres fonctions Utilisateurs qui se font via :

http://<site.tld>/index.php?option=com_users&view=login
http://<site.tld>/index.php?option=com_users&view=registration
http://<site.tld>/index.php?option=com_users&layout=complete&view=registration
http://<site.tld>/index.php?option=com_users&task=registration.register
http://<site.tld>/index.php?option=com_users&task=registration.activate
http://<site.tld>/index.php?option=com_users&view=reset
http://<site.tld>/index.php?option=com_users&view=remind
http://<site.tld>/index.php?option=com_users&view=profile
http://<site.tld>/index.php?option=com_users&task=user.login
http://<site.tld>/index.php?option=com_users&task=user.logout
http://<site.tld>/index.php?option=com_users&task=reset.request
http://<site.tld>/index.php?option=com_users&task=remind.remind
http://<site.tld>/index.php?option=com_users&task=profile.edit&user_id=<USER -> NUMBER>

Le blocage de l'inscription et celui du login suffisent à rendre toutes les autres fonctions inopérantes. Il n'est donc pas utiles de les bloquer toutes.

Procédure blocage inscription Joomla

L'inscription sur un site Joomla soit par un menu soit par un lien direct comme

http://site.tld>/index.php?option=com_users&view=registration

reste accessible à tout moment s'il n'est pas expressément désactivé comme expliqué ici.

  • Se connecter au back office (backend) ou panneau d'administration
  • Dans le menu Utilisateurs choisir Gestion des utilisateurs
  • Cliquer sur Paramètres qui définit les paramètres par défaut pour les utilisateurs

Joomla-parametres-utilisateurs-121113.jpg

  • Mettre Autoriser l'inscription des utilisateurs à non
  • Cliquer sur Enregistrer et fermer
  • A ce stade il n'est plus possible de s'inscrire sur le site. Toute tentative d'accès à l'enregistrement d'un nouvel utilisateur se soldera par une redirection vers le login qui lui reste opérationnel s'il n'est pas, à son tout, bloqué comme expliqué ci-après.

Procédure suppression menu login

Le login sur un site Joomla, soit par un menu soit par un des liens directs reste accessible à tout moment s'il n'est pas expressément désactivé comme expliqué ici.

  • Recourir à une redirection par .htaccess est très efficace pour supprimer tout accès au login de Joomla
  • On commence par noter les liens qui correspondent à l'accès direct à la fonction login en saisissant dans la barre d'adresse le lien direct :
http://<site.tld>/index.php?option=com_users&view=login

Si le site utilise un plugin de SEF le lien sera probablement transformé en :

http://<site.tld>/deconnexion/login

sinon il restera identique à celui entré.

  • On édite .htaccess situé à la racine et on y introduit tout en haut, la commande suivante :
Redirect permanent <lien de l'accès direct> <adresse de redirection>
exemple 
Avec SEF : Redirect permanent /deconnexion/login / où / indique la racine du site
Sans SEF : Redirect permanent /index.php?option=com_users&view=login / où / indique la racine du site
  • Ceci fait, toute tentative d'accès directe au login du site renverra automatiquement au lien de redirection (racine du site dans l'exemple)
  • Il n'est pas utile de bloquer les autres fonctions Utilisateurs car sans login ou registration elles sont sans intérêt.
  • Il est possible de renvoyer sur un autre site en remplaçant / par un lien externe comme http://ecx.images-amazon.com/images/I/51R5C6G114L._SY300_.jpg qui affiche

51R5C6G114L._SY300_.jpg

Accès directs fonctions Utilisateurs

  • Liens réécrits par JoomSEF → liens originaux
  • deconnexion/login -> /index.php?option=com_users&view=login
  • deconnexion/registration -> /index.php?option=com_users&view=registration
  • deconnexion/registration/complete -> /index.php?option=com_users&layout=complete&view=registration
  • deconnexion/registration/register -> /index.php?option=com_users&task=registration.register
  • deconnexion/registration/activate -> /index.php?option=com_users&task=registration.activate
  • deconnexion/forgot-password -> /index.php?option=com_users&view=reset
  • deconnexion/forgot-username -> /index.php?option=com_users&view=remind
  • deconnexion/profile -> /index.php?option=com_users&view=profile
  • deconnexion/user/login -> /index.php?option=com_users&task=user.login
  • deconnexion/user/com_sef_users_logout -> /index.php?option=com_users&task=user.logout
  • deconnexion/forgot-password/request -> /index.php?option=com_users&task=reset.request
  • deconnexion/forgot-username/submit -> /index.php?option=com_users&task=remind.remind
  • deconnexion/<USER>/edit -> /index.php?option=com_users&task=profile.edit&user_id=<USER NUMBER>

Répertoire Com_User

Comme proposé par Alain Giraud dans les commentaires (plus bas) on peut aussi mettre le dossier /component/com_user à chmod 0 pour empêcher toutes les opérations utilisateurs comme login, inscription, etc. C'est simple, net et très efficace.

Commentaires

blog comments powered by Disqus