Comment vérifier si un utilisateur est connecté en php?
Je suis assez nouveau dans le php et je suis en train d'essayer de comprendre comment utiliser les sessions pour vérifier et voir si un utilisateur est connecté à un site web afin qu'ils aient l'autorisation d'accéder à des pages spécifiques.
Est-ce quelque chose qui est compliqué ou est-ce parce que je suis un noob que je ne peux pas la comprendre?
Merci pour l'aide!
- ouais, mais j'ai été la recherche de quelqu'un pour l'expliquer dans un fasion que j'ai pu comprendre alors merci!
Vous devez vous connecter pour publier un commentaire.
Connexions ne sont pas trop compliqué, mais il y a certaines pièces que presque tous les processus de connexion besoin.
Tout d'abord, assurez-vous d'activer la variable de session sur toutes les pages qui nécessitent la connaissance de son statut d'utilisateur identifié par la mise en ce début de ces pages:
Ensuite, lorsque l'utilisateur soumet son nom d'utilisateur et mot de passe via le formulaire de connexion, vous n'aurez généralement vérifier leur nom d'utilisateur et le mot de passe par l'interrogation d'une base de données contenant un nom d'utilisateur et le mot de passe de l'information, comme par exemple MySQL. Si la base de données renvoie un match, vous pouvez alors définir une variable de session pour contenir un fait. Vous pouvez également inclure d'autres informations:
Puis, sur la page qui dépend enregistrés dans l'état, mis à la suivante (n'oubliez pas le
session_start()
):Ceux sont les composants de base. Si vous avez besoin d'aide avec le SQL aspect, il ya des tutoriels-a-plein sur le net.
Dans Login.html:
Dans Login.php:
Dans Member.php:
Dans MYSQL:
Dans Register.html:
Dans Register.php:
N'importe quelle page que vous voulez pour effectuer de la session de contrôles sur les besoins pour commencer:
À partir de là, vous vérifiez votre tableau de session pour une variable indiquant qu'ils sont enregistrés dans:
La journalisation est rien de plus que le réglage de cette valeur:
Presque toutes les réponses sur cette page, appuyer sur la vérification d'une variable de session de l'existence de valider une connexion de l'utilisateur. C'est absolument parfait, mais il est important de considérer que le PHP état de session n'est pas unique à votre demande s'il existe plusieurs serveurs virtuels/sites sur le même métal nu.
Si vous avez deux applications PHP sur un serveur web, à la fois le contrôle d'un utilisateur de l'état de connexion avec un drapeau booléen dans une variable de session appelée "isLoggedIn', l'utilisateur peut se connecter à une des applications, puis automatiquement accéder à la seconde sans informations d'identification.
Je soupçonne que la plupart des dinosaures commercial d'hébergement mutualisé ne laissez pas des hôtes virtuels partagent le même environnement PHP dans une telle manière que cela pourrait se produire à travers de multiples clients du site (plus), mais c'est quelque chose à considérer dans votre propre environnement.
La solution très simple est d'utiliser une variable de session qui identifie l'application plutôt qu'un indicateur booléen. e.g $SESSION["isLoggedInToExample.com"].
Source: je suis un testeur de pénétration, avec beaucoup d'expérience sur la façon dont vous ne devriez pas faire des choses.
Voir ce script pour vous inscrire. Simple et très facile à comprendre.
Assurez-vous de faire toute la Base de données des trucs à l'aide de phpMyAdmin. Ses un outil très simple de travailler avec. Vous pouvez le trouver ici: http://www.phpmyadmin.net/home_page/index.php
vous pouvez faire une séance et la placer:
remarque:vous devez faire un formulaire qui contient
$_SESSION['username'] = $login_input_username;
Besoin sur toutes les pages avant de vous renseigner pour les sessions en cours
Vérifier si
$_SESSION["loggedIn"
] (n'est pas) vrai - Si non, les rediriger vers la page de connexion.