Quelle est l'URL pour la connexion de l'utilisateur (alias Comment masquer le formulaire de connexion?)

10

Je ne souhaite pas autoriser les visiteurs à s'inscrire sur mon site Web; cependant, je trouve qu'il est nécessaire d'avoir un seul utilisateur enregistré à des fins de test. Par exemple, je publierai un article à accès restreint pour que mon utilisateur test puisse voir à quoi ressemble l'article sur le site sans "aérer le linge sale" au grand public (ok, tous les 1 / jour qui visitent réellement ...) .

Mon problème en ce moment est que je finis par endommager le site Web car je dois publier / annuler la publication du formulaire de connexion de l'utilisateur. Actuellement, je «contourne» ce problème en masquant le formulaire de connexion dans une sous-catégorie afin qu'il ne soit pas immédiatement visible pour un visiteur occasionnel. Est-il possible de créer une méthode alternative (par exemple, une URL personnalisée) qui permettra à mon utilisateur de test de voir le contenu marqué comme restreint sans modifier ce que verrait un invité avec accès public?

bobthechemist
la source

Réponses:

8

Vous pouvez créer un menu qui n'est pas publié, y placer un lien vers la page de connexion de l'utilisateur et nommer l'alias comme vous le souhaitez. Tant que vous désactivez la fonction Autoriser les enregistrements dans les options du gestionnaire d'utilisateurs, vous devriez être bon.

Ensuite, donnez simplement l'URL à votre client.

Les étapes sont donc:

  1. Créez un nouveau menu, nommez-le caché
  2. Ne publiez pas de module du nouveau menu
  3. Ajoutez un nouvel élément de menu, choisissez Gestionnaire d'utilisateurs et formulaire de connexion
  4. Titre de l'élément de menu Connexion ou quelque chose pour que vous sachiez ce que c'est, mais changez l'alias en quelque chose que quelqu'un ne devinerait pas.
  5. Testez votre formulaire en accédant à yoursite.com/aliasname
Brian Peat
la source
10

Dans le prolongement de la réponse de Brian Peat:

Si vous allez à l'url

domain.com/index.php?option=com_users&view=login

vous pouvez vous connecter sans avoir un ensemble d'éléments de menu ou tout type de problème de publication / dépublication. Cela pourrait être considéré comme un problème dans Joomla, car en connaissant votre chemin, vous pouvez toujours vous inscrire / vous connecter si vous connaissez la structure de l'URL. Il existe des règles pour empêcher cela, mais généralement, par défaut, vous pouvez simplement utiliser des chemins directs comme celui-là pour arriver là où vous devez aller.

http://www.joomla.org/index.php?option=com_users&view=login

La voici au travail, même le site principal de Joomla qui n'a pas d'accès direct à la connexion est accessible comme ça.

Mon point est, assurez-vous que vous utilisez également la liste de contrôle d'accès appropriée, si ses utilisateurs "juste" enregistrés, alors quiconque connaît la structure de Joomla peut entrer. Aussi, comme Brian l'avait dit, assurez-vous que l'autorisation d'enregistrement est désactivée.

Jordan Ramstad
la source
Existe-t-il une URL analogue pour /index.php?option=com_users&view=logout (que je pensais intuitive mais qui s'avère incorrecte)?
bobthechemist
Vous voulez vous déconnecter automatiquement? C'est un peu étrange, la déconnexion dans joomla nécessite quelques données de publication, d'où le formulaire / bouton. Ce lien vous mènera à un bouton en gros.
Jordan Ramstad
Si vous êtes vraiment inquiet à l'idée que les gens accèdent à cette page, vous pouvez soit installer un plugin sophistiqué qui oblige l'utilisateur à utiliser un jeton dans l'url (je sais qu'il y en a un pour l'administrateur, je suis sûr qu'il y en a un pour l'avant) fin) ... mais vous pouvez également installer ceci: extensions.joomla.org/extensions/access-a-security/… qui bloque les adresses IP si l'utilisateur essaie de le dire, 10 fois pour se connecter. Il vous informe également. Cela vous ouvrira les yeux sur la fréquence à laquelle votre site est attaqué. J'ai remarqué que 100% des essais utilisent tous "admin" comme nom d'utilisateur aussi.
Brian Peat
Je voulais juste étendre pour dire que, même sans éléments de menu, la connexion / l'enregistrement est toujours accessible. Donc, s'il est nécessaire de se connecter sans avoir à gérer un élément de menu, c'est possible, mais cela signifie également que n'importe qui peut le faire. Si l'inscription n'est pas verrouillée, n'importe qui peut également créer un compte et accéder à n'importe quelle page "secrète" s'il n'y a pas d'ACL pour l'empêcher. Cela peut être fait en créant un groupe ACL supplémentaire et en rendant l'utilisateur qui peut y accéder également dans ce groupe. La page en question nécessiterait également ce groupe.
Jordan Ramstad
Euh, à quoi servent les listes de contrôle d'accès si vous n'êtes pas déjà connecté. Je crois comprendre que vous ne pouvez jamais masquer une page de connexion publique sans un plugin spécial. Quoi qu'il en soit, sauf pour les attaques par force brute, si vous n'avez pas de connexion, vous ne pouvez pas aller très loin. Je ne vois pas l'utilité de jouer avec ça beaucoup.
Brian Peat
4

Vous devriez pouvoir accomplir cela en remplaçant la disposition du formulaire de connexion front-end. Ajoutez du code PHP vers le haut du fichier de mise en page. Ce code ajouté vérifie un paramètre personnalisé dans l'URL et une valeur particulière. Si quelqu'un essaie d'accéder à la page de connexion via n'importe quelle URL mais n'inclut pas le paramètre personnalisé et la valeur particulière (comme abc = xyz ), le code émet un "retour;" afin que la mise en page du formulaire ne soit pas traitée pour l'affichage.

Avec ce code dans le fichier de mise en page prioritaire, seul un utilisateur qui connaît l'URL (qui inclut ce paramètre personnalisé et une valeur acceptable) pourra utiliser ce formulaire de connexion.

Par exemple: l'URL secrète peut être

mydomain.com/?option=com_users&view=login&abc=xyz

Ajoutez ensuite ce code en haut du fichier de mise en page prioritaire pour le formulaire de connexion:

if(JFactory::getApplication()->input->get('abc')!='xyz'){
    return;
}
RCarey
la source
Bonne idée! Il s'agit d'une solution assez simple pour désactiver la vue. Il peut également être étendu au module, si nécessaire (bien que le module ne dispose pas d'une URL directe pour y accéder).
Jordan Ramstad
3

J'ai souvent rencontré un problème similaire parce que je veux souvent une connexion frontale afin de modifier les sites Web que je gère, sans avoir besoin d'un formulaire de connexion. J'ai fini par créer un petit bookmarklet que j'ai ajouté à la barre d'outils de mon navigateur. C'est évidemment une solution très "locale", car seul le bookmarklet est disponible pour moi (ou toute personne à qui je copie le code), mais cela fonctionne sur TOUT site Joomla et est un gain de temps incroyable, cliquez simplement sur le lien et le formulaire de connexion sera affiché (étant donné que vous êtes sur un site Joomla, bien sûr ...).

 javascript:void((function(){var loc = location.href; loc.indexOf("?") == -1 ? (location.href = loc+"?option=com_users&view=login") : (location.href = loc+"&option=com_users&view=login");})());
johanpw
la source