Pour déterminer si le visiteur est un invité , nous utilisons quelque chose comme ceci:
if ($user->guest) {
echo 'Hello, guest!';
}
Maintenant, si je veux déterminer si le visiteur est un super-utilisateur enregistré (administrateur) ou non, quel serait le code pour cela?
J'ai des fichiers PHP externes auxquels je ne veux être accessible par personne, à l'exception des superutilisateurs de mon site Web Joomla. J'essaie simplement de sécuriser les fichiers en important Joomla CMS.
joomla-3.x
php
security
saibbyweb
la source
la source
Réponses:
ces codes détermineront si l'utilisateur actuellement connecté est super utilisateur ou non -
ce code vérifiera ce qui est mappé à l'autorisation "Super utilisateur" dans la configuration globale et pas seulement au niveau du composant. Vérifiez-le vous-même en comparant avec d'autres façons.
la source
core.admin
c'est une meilleure autorisation de vérifier quecore.edit
.libraries/joomla/user/user.php
fichier. C'est celui-ci:$iAmSuperAdmin = $my->authorise('core.admin');
Pour déterminer le statut de "super utilisateur", vous devez vérifier
$user->isRoot
. Cette propriété est définie après la première vérification d'autorisation et lorsque l'utilisateur est détecté comme super administrateur.Cependant, il est généralement préférable de vérifier si l'utilisateur dispose de certaines autorisations, comme décrit dans les autres réponses.
la source
Essaye ça,
Cela renverra un tableau, Par défaut, les utilisateurs Joomla Admin Super admin (Groupes 8) et Administrateur (Groupe 7).
Vous pouvez vérifier que le tableau possède l'une de ces valeurs, il doit s'agir d'un utilisateur administrateur.Si vous êtes créé un groupe d'utilisateurs personnalisés, vous devez
#__usergroups
parent Id
également vérifier .J'espère que cela aide..
la source
Vous pouvez utiliser une condition pour refuser toute personne qui ne fait pas partie d'un groupe spécifique.
la source
if(in_array(8, $user->groups))
ça et ça a fonctionné pour moiEssayez le code ci-dessous pour vérifier si l'utilisateur connecté est super administrateur ou d'autres utilisateurs ...
la source
$user->get('isRoot');
ne fonctionne pas pour J3.6.2.Joomla @since 3.2, le champ UserGroupList utilise ceci pour vérifier:
la source