Faire une connexion automatique. Définir un mot de passe pour un ordinateur

Dans cet article, vous apprendrez comment créer un formulaire d'inscription et d'autorisation en utilisant HTML, JavaScript, PHP et MySql. Ces formulaires sont utilisés sur presque tous les sites, quel que soit leur type. Ils sont créés pour le forum, pour la boutique en ligne et pour les réseaux sociaux (tels que, par exemple, Facebook, Twiter, Odnoklassniki) et pour de nombreux autres types de sites.

Si vous avez un site sur votre ordinateur local, j'espère que vous avez déjà . Rien ne fonctionnera sans cela.

Création d'une table dans la base de données

Afin de mettre en œuvre l'enregistrement des utilisateurs, nous avons d'abord besoin d'une base de données. Si vous l'avez déjà, tant mieux, sinon, vous devez le créer. Dans l'article, j'explique en détail comment faire cela.

Et donc, nous avons une base de données (DB abrégée), maintenant nous devons créer une table utilisateurs dans lequel nous ajouterons nos utilisateurs enregistrés.

Comment créer une table dans la base de données, je l'ai également expliqué dans l'article. Avant de créer une table, nous devons définir les champs qu'elle contiendra. Ces champs correspondront aux champs du formulaire d'inscription.

Donc, nous avons pensé, imaginé quels champs notre formulaire aura et créer une table utilisateurs avec ces champs :

  • identifiant- Identifiant. Champ identifiant devrait être dans chaque table de la base de données.
  • Prénom- Pour enregistrer le nom.
  • nom de famille- Pour enregistrer le nom de famille.
  • e-mail- Enregistrer l'adresse postale. Nous utiliserons l'e-mail comme login, donc ce champ doit être unique, c'est-à-dire avoir un index UNIQUE.
  • email_status- Un champ pour indiquer si le mail est confirmé ou non. Si le mail est confirmé, alors il aura une valeur de 1, sinon il aura une valeur de 0. Par défaut, ce champ aura une valeur de 0.
  • le mot de passe- Pour enregistrer le mot de passe.

Tous les champs de type "VARCHAR" doivent être NULL par défaut.


Si vous souhaitez que votre formulaire d'inscription comporte des champs supplémentaires, vous pouvez également les ajouter ici.

Ça y est, notre table utilisateurs prêt. Passons à l'étape suivante.

Connexion à la base de données

Nous avons créé la base de données, nous devons maintenant nous y connecter. Nous allons nous connecter en utilisant l'extension MySQLi PHP.

Dans le dossier de notre site, créez un fichier avec le nom dbconnect.php, et nous y écrivons le script suivant :

Erreur de connexion à la base de données. Description de l'erreur : ".mysqli_connect_error()."

"; exit(); ) // Définir l'encodage de la connexion $mysqli->set_charset("utf8"); //Pour plus de commodité, ajoutez ici une variable qui contiendra le nom de notre site $address_site = "http://testsite .local" ; ?>

Ce fichier dbconnect.php devra être connecté aux gestionnaires de formulaires.

Attention à la variable $address_site, j'ai indiqué ici le nom de mon site de test, sur lequel je vais travailler. Vous indiquez en conséquence le nom de votre site.

Structure du site

Examinons maintenant la structure HTML de notre site Web.

Déplacez l'en-tête et le pied de page du site dans des fichiers séparés, header.php Et footer.php. Nous les connecterons sur toutes les pages. A savoir, sur le principal (fichier index.php), à la page avec le formulaire d'inscription (fichier formulaire_register.php) et sur la page avec le formulaire d'autorisation (fichier form_auth.php).

Bloquer avec nos liens, enregistrement Et autorisation, ajoutez-les à l'en-tête du site afin qu'ils soient affichés sur toutes les pages. Un lien entrera sur formulaire d'inscription(fichier formulaire_register.php) et l'autre à la page avec formulaire d'autorisation(fichier form_auth.php).

Contenu du fichier header.php :

Le nom de notre site

En conséquence, notre page principale ressemble à ceci :


Bien sûr, votre site peut avoir une structure complètement différente, mais ce n'est pas important pour nous maintenant. L'essentiel est qu'il existe des liens (boutons) pour l'enregistrement et l'autorisation.

Passons maintenant au formulaire d'inscription. Comme vous l'avez déjà compris, nous l'avons dans le dossier formulaire_register.php.

Nous allons dans la base de données (dans phpMyAdmin), ouvrons la structure de la table utilisateurs et voir de quels champs nous avons besoin. Ainsi, nous avons besoin de champs pour saisir un prénom et un nom, un champ pour saisir une adresse postale (Email) et un champ pour saisir un mot de passe. Et pour des raisons de sécurité, nous ajouterons un champ de saisie captcha.

Sur le serveur, à la suite du traitement du formulaire d'inscription, diverses erreurs peuvent survenir à cause desquelles l'utilisateur ne pourra pas s'inscrire. Par conséquent, pour que l'utilisateur comprenne pourquoi l'enregistrement échoue, il est nécessaire de lui afficher des messages concernant ces erreurs.

Avant d'afficher le formulaire, nous ajoutons un bloc pour afficher les messages d'erreur de la session.

Et un autre moment, si l'utilisateur est déjà autorisé, et par souci d'intérêt, il entre directement dans la page d'inscription en écrivant dans la barre d'adresse du navigateur site_url/form_register.php, alors dans ce cas, au lieu du formulaire d'inscription, nous afficherons un titre pour celui-ci qu'il est déjà inscrit.

En général, le code de fichier formulaire_register.php nous l'avons obtenu comme ceci:

Vous êtes déjà inscrit

Dans le navigateur, la page d'inscription ressemble à ceci :


Via attribut requis, nous avons rendu tous les champs obligatoires.

Faites attention au code du formulaire d'inscription où le captcha s'affiche:


Nous avons dans la valeur de l'attribut src pour l'image, spécifié le chemin d'accès au fichier captcha.php, qui génère ce captcha.

Regardons le code du fichier captcha.php:

Le code est bien commenté, je vais donc me concentrer sur un seul point.

A l'intérieur d'une fonction imageTtfText(), le chemin d'accès à la police est spécifié verdana.ttf. Donc pour que le captcha fonctionne correctement, il faut créer un dossier polices, et placez-y le fichier de police verdana.ttf. Vous pouvez le trouver et le télécharger sur Internet, ou le récupérer dans les archives avec le matériel de cet article.

Nous en avons fini avec la structure HTML, il est temps de passer à autre chose.

Valider un email avec jQuery

Tout formulaire nécessite une validation des données saisies, tant côté client (en utilisant JavaScript, jQuery) que côté serveur.

Nous devons porter une attention particulière au champ Email. Il est très important que l'adresse e-mail saisie soit valide.

Pour ce champ de saisie, nous définissons le type email (type="email"), cela nous prévient un peu contre les formats incorrects. Mais cela ne suffit pas, car grâce à l'inspecteur de code que le navigateur nous fournit, vous pouvez facilement modifier la valeur de l'attribut taperà partir de e-mail sur le texte, et ça y est, notre chèque ne sera plus valable.


Et dans ce cas, nous devons faire une vérification plus fiable. Pour ce faire, nous allons utiliser la bibliothèque jQuery de JavaScript.

Pour connecter la bibliothèque jQuery, dans le fichier header.php entre les balises , avant la balise fermante , ajoutez cette ligne :

Juste après cette ligne, ajoutez le code de contrôle de validation de l'e-mail. Ici, nous ajoutons le code pour vérifier la longueur du mot de passe saisi. Il doit comporter au moins 6 caractères.

À l'aide de ce script, nous vérifions la validité de l'adresse e-mail saisie. Si l'utilisateur a saisi le mauvais e-mail, nous affichons une erreur à ce sujet et désactivons le bouton d'envoi du formulaire. Si tout va bien, nous supprimons l'erreur et activons le bouton d'envoi du formulaire.

Et donc, avec la validation du formulaire côté client, nous avons terminé. Nous pouvons maintenant l'envoyer au serveur, où nous effectuerons également quelques vérifications et ajouterons des données à la base de données.

Enregistrement de l'utilisateur

Nous envoyons le formulaire pour traitement au dossier registre.php, via la méthode POST. Le nom de ce fichier de gestionnaire, spécifié dans la valeur de l'attribut action. Et la méthode d'envoi est spécifiée dans la valeur de l'attribut méthode.

Ouvrir ce fichier registre.php et la première chose que nous devons faire est d'écrire une fonction de lancement de session et d'inclure le fichier que nous avons créé précédemment dbconnect.php(Dans ce fichier, nous avons établi une connexion à la base de données). Et pourtant, déclarez immédiatement les cellules messages d'erreur Et success_messages dans le tableau global de la session. DANS messages_erreur nous enregistrerons tous les messages d'erreur qui se produisent lors du traitement du formulaire, et dans success_messagesÉcrivons des messages heureux.

Avant de continuer, nous devons vérifier si le formulaire a été soumis. Un attaquant peut regarder la valeur d'un attribut actionà partir du formulaire, et découvrez quel fichier traite ce formulaire. Et il peut avoir l'idée d'aller directement sur ce fichier en tapant l'adresse suivante dans la barre d'adresse du navigateur : http://site_site/register.php

Nous devons donc vérifier s'il existe une cellule dans le tableau POST global dont le nom correspond au nom de notre bouton "Enregistrer" du formulaire. Ainsi, nous vérifions si le bouton "S'inscrire" a été enfoncé ou non.

Si un attaquant tente d'accéder directement à ce fichier, il recevra un message d'erreur. Je rappelle que la variable $address_site contient le nom du site et qu'il a été déclaré dans le fichier dbconnect.php.

Erreur! page d'accueil .

"); } ?>

La valeur du captcha dans la session a été ajoutée lors de sa génération, dans le fichier captcha.php. Pour rappel, je vais montrer une fois de plus ce morceau de code du fichier captcha.php, où la valeur captcha est ajoutée à la session :

Passons maintenant au test lui-même. Dans le fichier registre.php, à l'intérieur du bloc if, où nous vérifions si le bouton "S'inscrire" a été enfoncé, ou plutôt, où le commentaire " // (1) Place pour le morceau de code suivant"nous écrivons:

//Vérifier le captcha reçu //Trim espaces au début et à la fin de la chaîne $captcha = trim($_POST["captcha"]); if(isset($_POST["captcha"]) && !empty($captcha))( //Comparer la valeur reçue avec la valeur de la session. if(($_SESSION["rand"] != $captcha) && ($_SESSION ["rand"] != ""))( // Si le captcha n'est pas correct, renvoyez l'utilisateur à la page d'inscription, et là nous afficherons un message d'erreur indiquant qu'il a saisi le mauvais captcha. $error_message = "

Erreur! Vous avez entré le mauvais captcha

"; // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] = $error_message; // Renvoie l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: " .$address_site ."/form_register.php"); //Arrête le script exit(); ) // (2) Place au prochain morceau de code )else( //Si le captcha n'est pas passé ou s'il est vide exit ("

Erreur! Il n'y a pas de code de vérification, c'est-à-dire le code captcha. Vous pouvez aller à la page principale.

"); }

Ensuite, nous devons traiter les données reçues du tableau POST. Tout d'abord, nous devons vérifier le contenu du tableau POST global, c'est-à-dire s'il y a des cellules dont les noms correspondent aux noms des champs d'entrée de notre formulaire.

Si la cellule existe, alors nous supprimons les espaces du début et de la fin de la chaîne de cette cellule, sinon, nous redirigeons l'utilisateur vers la page avec le formulaire d'inscription.

De plus, une fois les espaces coupés, nous ajoutons une chaîne à la variable et vérifions que cette variable est vide, si elle n'est pas vide, puis passons à autre chose, sinon nous redirigeons l'utilisateur vers la page avec le formulaire d'inscription.

Collez ce code à l'emplacement spécifié // (2) Place pour le morceau de code suivant".

/* Vérifie s'il y a des données envoyées depuis le formulaire dans le tableau global $_POST et enferme les données soumises dans des variables régulières. = trim($_POST["first_name"]); //Vérifie si la variable est vide if(!empty ($first_name))( // Par sécurité, convertissez les caractères spéciaux en entités HTML $first_name = htmlspecialchars($first_name, ENT_QUOTES) ; )else( // Enregistrez le message d'erreur dans la session. $_SESSION["error_messages"] . = "

Entrez votre nom

Champ de nom manquant

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); ) if( isset($_POST["last_name"]))( // Supprime les espaces au début et à la fin de la chaîne $last_name = trim($_POST["last_name"]); if(!empty($last_name)) ( // Par sécurité , convertissez les caractères spéciaux en entités HTML $last_name = htmlspecialchars($last_name, ENT_QUOTES); )else( // Enregistrez le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Entrez votre nom de famille

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); ) )else ( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Champ de nom manquant

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); ) if( isset($_POST["email"]))( // Supprime les espaces au début et à la fin de la chaîne $email = trim($_POST["email"]); if(!empty($email)) ( $email = htmlspecialchars ($email, ENT_QUOTES); // (3) Emplacement du code pour vérifier le format de l'adresse e-mail et son unicité )else( // Enregistrer le message d'erreur dans la session. $_SESSION["error_messages" ] .= "

Entrer votre Email

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); ) )else ( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); ) if( isset($_POST["password"]))( // Supprime les espaces au début et à la fin de la chaîne $password = trim($_POST["password"]); if(!empty($password)) ( $password = htmlspecialchars ($password, ENT_QUOTES); //Crypte le mot de passe $password = md5($password."top_secret"); )else( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Tapez votre mot de passe

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); ) )else ( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); ) // (4) Place pour le code d'ajout d'un utilisateur à la base de données

Le domaine revêt une importance particulière. e-mail. Nous devons vérifier le format de l'adresse postale reçue et son unicité dans la base de données. C'est-à-dire si un utilisateur avec la même adresse e-mail est déjà enregistré.

À l'endroit spécifié" // (3) Place du code pour vérifier le format de l'adresse postale et son unicité" ajoutez le code suivant :

//Vérifiez le format de l'adresse e-mail reçue en utilisant l'expression régulière $reg_email = "/^**@(+(*+)*\.)++/i" ; //Si le format de l'adresse e-mail reçue ne correspond pas à l'expression régulière if(!preg_match($reg_email, $email))( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Vous avez entré un email invalide

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); ) // Vérifie s'il existe déjà une telle adresse dans la base de données $result_query = $mysqli->query("SELECT `email` FROM `users` WHERE `email`="".$email."""); Il y a exactement 1 lignes, donc l'utilisateur avec cette adresse e-mail est déjà enregistré if($result_query->num_rows == 1)( //Si le résultat n'est pas égal à false if(($row = $result_query->fetch_assoc()) != false) ( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

L'utilisateur avec cette adresse e-mail est déjà enregistré

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); )else( //Enregistrer le message d'erreur à la session .$_SESSION["error_messages"] .= "

Erreur dans la requête de la base de données

"; // Renvoie l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); ) /* ferme la sélection */ $ result_query-> close(); //Arrête le script exit(); ) /* ferme la sélection */ $result_query->close();

Et donc, nous en avons fini avec toutes les vérifications, il est temps d'ajouter l'utilisateur à la base de données. À l'endroit spécifié" // (4) Place pour le code d'ajout d'un utilisateur à la base de données" ajoutez le code suivant :

// Requête pour ajouter un utilisateur à la base de données $result_query_insert = $mysqli->query("INSERT INTO `users` (first_name, last_name, email, password) VALUES ("".$first_name."", "".$last_name ." ", "".$email."", "".$mot de passe."")"); if(!$result_query_insert)( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Erreur lors de la demande d'ajout d'un utilisateur à la base de données

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); )else( $_SESSION["messages_success"] = "

Inscription terminée avec succès !!!
Vous pouvez maintenant vous connecter en utilisant votre nom d'utilisateur et votre mot de passe.

"; //Envoyer l'utilisateur à la page de connexion header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_auth.php"); ) /* Compléter la requête */ $ result_query_insert-> close(); //Ferme la connexion à la base de données $mysqli->close();

Si une erreur se produit dans la demande d'ajout d'un utilisateur à la base de données, nous ajoutons un message concernant cette erreur à la session et renvoyons l'utilisateur à la page d'enregistrement.

Sinon, si tout s'est bien passé, on ajoute aussi un message à la session, mais c'est déjà plus agréable, à savoir, on dit à l'utilisateur que l'inscription a réussi. Et nous le redirigeons vers la page avec le formulaire d'autorisation.

Le script de vérification du format de l'adresse e-mail et de la longueur du mot de passe se trouve dans le fichier header.php, cela affectera donc également les champs de ce formulaire.

La session est également démarrée dans le fichier header.php, donc dans le fichier form_auth.php la session n'a pas besoin d'être démarrée, car nous obtenons une erreur.


Comme je l'ai dit, le script de vérification du format de l'adresse e-mail et de la longueur du mot de passe fonctionne également ici. Par conséquent, si l'utilisateur saisit une mauvaise adresse e-mail ou un mot de passe court, il recevra immédiatement un message d'erreur. Un bouton entrer deviendra inactif.

Après avoir corrigé les erreurs, le bouton entrer devient actif et l'utilisateur peut soumettre le formulaire au serveur où il sera traité.

Autorisation de l'utilisateur

Attribuer de la valeur action le formulaire d'autorisation a un fichier auth.php, ce qui signifie que le formulaire sera traité dans ce fichier.

Alors ouvrons le fichier auth.php et écrivez le code pour traiter le formulaire d'autorisation. La première chose à faire est de démarrer la session et d'inclure le fichier dbconnect.php pour se connecter à la base de données.

//Déclarez une cellule pour ajouter les erreurs pouvant survenir lors du traitement du formulaire. $_SESSION["error_messages"] = "" ; //Déclarez une cellule pour ajouter des messages réussis $_SESSION["success_messages"] = "" ;

/* Vérifie si le formulaire a été soumis, c'est-à-dire si le bouton Connexion a été cliqué. Si oui, alors nous allons plus loin, sinon, alors nous afficherons un message d'erreur à l'utilisateur, indiquant qu'il est allé directement sur cette page. */ if(isset($_POST["btn_submit_auth"]) && !empty($_POST["btn_submit_auth"]))( //(1) Place pour le prochain morceau de code )else( exit("

Erreur! Vous avez accédé directement à cette page, il n'y a donc aucune donnée à traiter. Vous pouvez aller à la page principale.

"); }

//Vérifier le captcha reçu if(isset($_POST["captcha"]))( //Trim espaces du début et de la fin de la chaîne $captcha = trim($_POST["captcha"]); if(!empty ($captcha ))( //Comparer la valeur reçue avec la valeur de la session. if(($_SESSION["rand"] != $captcha) && ($_SESSION["rand"] != ""))( // Si le captcha est invalide, alors nous renvoyons l'utilisateur à la page d'autorisation, et là nous afficherons un message d'erreur indiquant qu'il a saisi le mauvais captcha. $error_message = "

Erreur! Vous avez entré le mauvais captcha

"; // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] = $error_message; // Renvoie l'utilisateur à la page d'autorisation header("HTTP/1.1 301 Moved Permanently"); header("Location: " .$address_site ."/form_auth.php"); //Arrête le script exit(); ) )else( $error_message = "

Erreur! Le champ de saisie captcha ne doit pas être vide.

"; // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] = $error_message; // Renvoie l'utilisateur à la page d'autorisation header("HTTP/1.1 301 Moved Permanently"); header("Location: " .$address_site ."/form_auth.php"); //Arrêter le script exit(); ) //(2) Lieu de traitement de l'adresse mail //(3) Lieu de traitement du mot de passe //(4) Lieu de faire une requête à la base de données )else ( //Si le captcha n'est pas passé exit("

Erreur! Il n'y a pas de code de vérification, c'est-à-dire le code captcha. Vous pouvez aller à la page principale.

"); }

Si l'utilisateur a correctement saisi le code de vérification, nous passons à autre chose, sinon nous le renvoyons à la page d'autorisation.

Vérification de l'adresse e-mail

// Supprime les espaces au début et à la fin de la chaîne $email = trim($_POST["email"]); if(isset($_POST["email"]))( if(!empty($email))( $email = htmlspecialchars($email, ENT_QUOTES); //Vérifier le format de l'adresse e-mail reçue à l'aide de l'expression régulière $ reg_email = " /^**@(+(*+)*\.)++/i" ; //Si le format de l'adresse e-mail reçue ne correspond pas à l'expression régulière if(!preg_match($reg_email, $email ))( // Enregistrer dans le message d'erreur de session.$_SESSION["error_messages"] .= "

Vous avez entré un email invalide

"; //Retourner l'utilisateur à la page d'autorisation header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_auth.php"); //Arrêter le script exit(); ) )else ( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Le champ de saisie de l'adresse postale (email) ne doit pas être vide.

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_register.php"); //Arrêter le script exit(); ) )else ( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Il n'y a pas de champ pour saisir l'e-mail

"; //Retourner l'utilisateur à la page d'autorisation header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_auth.php"); //Arrêter le script exit(); ) // (3) Lieu de traitement du mot de passe

Si l'utilisateur a saisi une adresse e-mail au mauvais format ou si la valeur du champ de l'adresse e-mail est vide, nous le renvoyons à la page d'autorisation, où nous affichons un message à ce sujet.

Vérification de mot de passe

Le champ suivant à traiter est le champ du mot de passe. Au lieu désigné" //(3) Lieu de traitement du mot de passe", nous écrivons:

If(isset($_POST["password"]))( // Supprime les espaces au début et à la fin de la chaîne $password = trim($_POST["password"]); if(!empty($password))( $password = htmlspecialchars($password, ENT_QUOTES); // Crypte le mot de passe $password = md5($password."top_secret"); )else( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] . = "

Tapez votre mot de passe

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_auth.php"); //Arrêter le script exit(); ) )else ( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Il n'y a pas de champ pour entrer un mot de passe

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_auth.php"); //Arrêter le script exit(); )

Ici, en utilisant la fonction md5 (), nous chiffrons le mot de passe reçu, car dans la base de données, nous avons des mots de passe sous forme cryptée. Mot secret supplémentaire dans le chiffrement, dans notre cas " Top secret" doit être celui qui a été utilisé lors de l'enregistrement de l'utilisateur.

Vous devez maintenant effectuer une requête dans la base de données sur une sélection d'utilisateurs dont l'adresse e-mail est égale à l'adresse e-mail reçue et le mot de passe est égal au mot de passe reçu.

//Requête à la base de données sur la sélection de l'utilisateur. $result_query_select = $mysqli->query("SELECT * FROM `users` WHERE email = "".$email."" AND password = "".$password."""); if(!$result_query_select)( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Erreur de requête lors de la sélection de l'utilisateur à partir de la base de données

"; //Retourner l'utilisateur à la page d'inscription header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_auth.php"); //Arrêter le script exit(); )else( //Vérifier s'il n'y a pas d'utilisateur avec de telles données dans la base de données, puis afficher un message d'erreur if($result_query_select->num_rows == 1)( // Si les données saisies correspondent aux données de la base de données, puis enregistrer le login et le mot de passe du tableau de session. $_SESSION["email"] = $email; $_SESSION["password"] = $password; //Retourne l'utilisateur à l'en-tête de la page principale("HTTP/1.1 301 Moved Permanently" ); header("Location: ".$address_site ."/index.php"); )else( // Enregistre le message d'erreur dans la session. $_SESSION["error_messages"] .= "

Mauvais nom d'utilisateur et / ou mot de passe

"; //Retourner l'utilisateur à la page d'autorisation header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."/form_auth.php"); //Arrêter le script exit(); ) )

Sortie de site

Et la dernière chose que nous mettons en œuvre est procédure de sortie. Pour le moment, dans l'en-tête, nous affichons des liens vers la page d'autorisation et la page d'inscription.

Dans l'entête du site (fichier header.php), en utilisant la session, nous vérifions si l'utilisateur est déjà connecté. Sinon, alors nous affichons les liens d'enregistrement et d'autorisation, sinon (si c'est autorisé), alors à la place des liens d'enregistrement et d'autorisation nous affichons le lien Sortir.

Morceau de code modifié à partir du fichier header.php:

enregistrement

Sortir

Lorsque vous cliquez sur le lien de sortie du site, nous entrons dans le fichier logout.php, où nous détruisons simplement les cellules avec l'adresse e-mail et le mot de passe de la session. Après cela, nous renvoyons l'utilisateur à la page sur laquelle le lien a été cliqué sortir.

Code de fichier logout.php :

C'est tout. Maintenant tu sais comment mettre en œuvre et traiter les formulaires d'enregistrement et d'autorisation utilisateur sur votre site. Ces formulaires se trouvent sur presque tous les sites, donc chaque programmeur doit savoir comment les créer.

Nous avons également appris à valider les données d'entrée, tant côté client (dans le navigateur, en utilisant JavaScript, jQuery) que côté serveur (en utilisant le langage PHP). Nous avons également appris mettre en œuvre la procédure de déconnexion.

Tous les scripts sont testés et fonctionnent. Vous pouvez télécharger l'archive avec les fichiers de ce petit site à partir de ce lien.

À l'avenir, j'écrirai un article où je décrirai. Et j'envisage aussi d'écrire un article où j'expliquerai (sans recharger la page). Ainsi, afin d'être au courant de la parution de nouveaux articles, vous pouvez vous abonner à mon site.

Si vous avez des questions, veuillez contacter, également, si vous remarquez une erreur dans l'article, veuillez me le faire savoir.

Plan de leçon (Partie 5):

  1. Création d'une structure HTML pour le formulaire d'autorisation
  2. Nous traitons les données reçues
  3. Nous affichons le message d'accueil de l'utilisateur dans l'en-tête du site

Vous avez aimé l'article ?

Habituellement, lorsque le système démarre, une fenêtre de connexion apparaît dans laquelle vous devez entrer un mot de passe et appuyer sur la flèche ou la touche Entrée. Sous Windows 10, vous pouvez supprimer cette fenêtre et rendre la connexion automatique. Il existe deux façons de créer une connexion automatique à Windows 10.

Via des comptes d'utilisateurs

Appuyez simultanément sur deux touches du clavier Gagner + R. La fenêtre Exécuter s'ouvrira dans laquelle entrez l'une des commandes contrôler les mots de passe utilisateur2 ou netplwiz et cliquez sur OK.

Comment établir une connexion automatique à Windows 10 via la fenêtre des comptes d'utilisateurs

Ces commandes lancent la fenêtre des comptes d'utilisateurs dans laquelle vous devez trouver l'élément dans l'onglet Utilisateurs. Décochez cet élément et cliquez sur OK ou sur Appliquer.


Confirmer le mot de passe pour entrer automatiquement votre mot de passe Windows 10

Après cela, une fenêtre s'ouvrira dans laquelle vous devrez entrer le mot de passe pour entrer dans votre système deux fois si vous l'avez défini, et s'il n'y a pas de mot de passe, vous n'avez rien besoin d'entrer. Cliquez sur le bouton OK dans cette fenêtre et redémarrez l'ordinateur et vous verrez qu'une connexion automatique a été établie.
Si vous devez désactiver la connexion automatique à Windows 10, vous devrez re-cocher l'élément Exiger un nom d'utilisateur et un mot de passe et cliquez sur OK.

Via l'éditeur de registre

Lancez l'Éditeur du Registre en appuyant simultanément sur deux touches du clavier Gagner + R. Entrez la commande dans la fenêtre qui s'ouvre regedit.exe et cliquez sur OK. Dans la partie gauche de l'éditeur de registre ouvert, vous devez développer la branche HKEY_LOCAL_MACHINE-SOFTWARE-Microsoft-Windows NT-CurrentVersion-Winlogon. Cliquez sur le dernier élément Winlogon.


Dans l'éditeur de registre, modifiez la valeur du paramètre AutoAdminLogon

Ensuite, sur le côté droit, trouvez l'élément Connexion automatique de l'administrateur. Vous devez changer la valeur de cet élément à 1.

Pour que la connexion automatique à Windows 10 se produise, vous devez d'abord modifier la valeur du paramètre AutoAdminLogon

Après cela, pour stocker les données du compte, créez des partitions avec des paramètres, et pour ce faire, survolez l'élément Winlogon et en cliquant sur le bouton droit de la souris, sélectionnez les éléments dans le menu qui s'ouvre Créer - Paramètre de chaîne.


Les sections créées donnons les noms et valeurs suivants :

  • Section DefaultDomainName avec valeur (nom d'ordinateur ou nom de domaine).
  • Section DefaultUserName avec valeur (nom d'utilisateur).
  • Section DefaultPassword avec valeur (mot de passe de connexion).

Fermez maintenant l'éditeur de registre et redémarrez votre ordinateur.

Dans cet article, nous analyserons comment effectuer une connexion automatique à Windows 7 sans entrer de mot de passe.

Vous devez comprendre que l'activation de la connexion automatique réduit la sécurité du système, car toute personne ayant un accès physique à l'ordinateur aura accès à toutes vos informations.

Mais, si vous êtes le seul propriétaire d'un ordinateur de bureau, l'activation de la connexion automatique augmentera la convivialité en accélérant le chargement du système d'exploitation.

1. Un utilisateur sans mot de passe

Vous pouvez laisser un utilisateur sans mot de passe dans le système. Cette option semble être la plus simple et la plus couramment utilisée.

Pour cela, ouvrez le menu Démarrer Faites un clic droit sur Ordinateur et sélectionnez Gérer

La même fenêtre peut être ouverte en cliquant avec le bouton droit de la souris sur l'icône. Un ordinateur sur le bureau et en sélectionnant également Contrôler


Dans la fenêtre qui s'ouvre à gauche (dans l'arborescence de la console), suivez le chemin Utilitaires > Utilisateurs locaux > Utilisateurs


Pour désactiver un compte, double-cliquez dessus avec le bouton gauche de la souris et, dans la fenêtre qui s'ouvre, cochez la case "Désactiver le compte". Cliquez sur OK


Enregistrement désactivé.

Ainsi, désactivez tous les comptes sauf le vôtre et HomeGroupUser$ (le cas échéant).

HomeGroupUser$- le compte utilisé pour accéder aux ressources du HomeGroup. Si vous le désactivez, vous ne pourrez pas accéder aux répertoires et fichiers partagés sur les autres ordinateurs de votre groupe résidentiel.

Après cela, vous devez réinitialiser le mot de passe de votre compte. Faites un clic droit sur votre compte et sélectionnez Définir le mot de passe

Un avertissement sera émis indiquant que pour des raisons de sécurité, vous devrez réautoriser la plupart des services. Cliquez sur Procéder.



Le mot de passe a été réinitialisé et vous serez désormais automatiquement connecté à Windows sans entrer de mot de passe lorsque vous allumerez votre ordinateur.

2. Affectez l'un des utilisateurs à la connexion automatique

Lancez le composant Contrôle de compte d'utilisateur.

Pour ce faire, appuyez sur la combinaison de touches Win + R (Win est la touche avec l'image du drapeau Windows sur le clavier dans la rangée inférieure à gauche de la touche Espace). Une invite de commande s'ouvrira là où vous devez entrer la commande contrôler les mots de passe utilisateur2 ou netplwiz.


Dans la fenêtre "Comptes d'utilisateurs" qui s'ouvre, sélectionnez l'utilisateur sous lequel nous devons nous connecter automatiquement au système et décochez Exiger un nom d'utilisateur et un mot de passe. Cliquez sur OK.


Maintenant, lorsque vous allumez l'ordinateur, vous vous connectez automatiquement à l'utilisateur que vous avez sélectionné.

Pour entrer dans un autre utilisateur, vous pouvez cliquer sur la flèche à droite du bouton Arrêter et sélectionner Changer d'utilisateur ou Se déconnecter


Dans ce cas, vous pourrez sélectionner n'importe quel utilisateur.

Si vous devez immédiatement, lorsque vous allumez l'ordinateur, vous connecter à un autre utilisateur, puis lorsque vous démarrez l'ordinateur, vous devez maintenir la touche enfoncée Changement.

3. Modification du registre

Si les deux premières méthodes n'ont pas fonctionné, essayez la troisième.

Ouvrez l'éditeur de registre. Appuyez à nouveau sur Win + R et tapez regedit.

Dans l'éditeur de registre à gauche dans l'arborescence, suivez le chemin

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

1. Pour activer la connexion automatique, vous devez définir la valeur

AutoAdminLogon = 1.

Pour changer la valeur, double-cliquez sur le paramètre (dans notre cas, AutoAdminLogon) dans le champ Valeur, écrivez 1 et cliquez sur OK


La valeur du paramètre a été modifiée.

2. Vous devez définir un nom d'utilisateur pour la connexion automatique Nom d'utilisateur par défaut

Définir un nom d'utilisateur pour la connexion automatique

3. Si vous avez un utilisateur avec un mot de passe, vous devez définir ce mot de passe dans le paramètre Mot de passe par défaut. J'ai des utilisateurs sans mot de passe, donc cette option n'est pas là.

Si vous n'avez aucun paramètre, vous devez le créer.

Pour cela, faites un clic droit sur un espace vide. Choisir Nouveau > Paramètre de chaîne


Tous les paramètres pris en compte sont des chaînes - Type - REG_SZ

Conclusion

Nous avons compris comment établir une connexion automatique au système avec Windows 7. Cela augmentera considérablement la convivialité de l'ordinateur, en particulier la vitesse de démarrage, et réduira également considérablement le niveau de sécurité. Il me semble qu'il est conseillé de l'utiliser soit sur des ordinateurs de bureau personnels, soit sur des ordinateurs où il n'y a pas d'informations importantes et où vous n'enregistrez pas les mots de passe dans les navigateurs.

Dans le monde moderne, la protection des données est l'un des principaux facteurs de la cybersécurité. Heureusement, Windows propose cette option sans installer de logiciel supplémentaire. Le mot de passe assurera la sécurité de vos données contre les étrangers et les intrus. La combinaison secrète est particulièrement pertinente dans les ordinateurs portables, qui sont le plus souvent sujets au vol et à la perte.

Cet article couvrira les principales façons d'ajouter un mot de passe à un ordinateur. Ils sont tous uniques et vous permettent de vous connecter même avec un mot de passe depuis votre compte Microsoft, mais cette protection ne garantit pas une sécurité à 100% contre les intrusions de personnes non autorisées.

Méthode 1 : Ajouter un mot de passe dans le "Panneau de configuration"

La méthode de protection par mot de passe via le "Panneau de configuration" est l'une des plus simples et des plus couramment utilisées. Parfait pour les débutants et les utilisateurs inexpérimentés, il ne nécessite pas de mémoriser des commandes et de créer des profils supplémentaires.

  1. presse "Le menu Démarrer" et cliquez "Panneau de commande".
  2. Sélectionner l'onglet "Comptes d'utilisateurs et sécurité de la famille".
  3. Cliquer sur "Modifier le mot de passe Windows" dans la section "Comptes utilisateur".
  4. Dans la liste des actions au-dessus du profil, sélectionnez "Création d'un mot de passe".
  5. Dans la nouvelle fenêtre, il y a 3 formulaires pour saisir les données de base nécessaires à la création d'un mot de passe.
  6. La forme "Nouveau mot de passe" est pour un mot de code ou une expression qui sera demandé au démarrage de l'ordinateur, attention au mode "Verrouillage des majuscules" et la disposition du clavier lors du remplissage. Ne créez pas de mots de passe très simples comme "12345", "qwerty", "yutsuken". Suivez les recommandations de Microsoft pour choisir une clé secrète :
    • L'expression secrète ne peut pas contenir la connexion au compte utilisateur ou l'un de ses composants ;
    • Le mot de passe doit comporter plus de 6 caractères ;
    • Dans le mot de passe, il est souhaitable d'utiliser des lettres majuscules et minuscules de l'alphabet;
    • Il est recommandé d'utiliser des chiffres décimaux et des caractères non alphabétiques dans le mot de passe.
  7. "Confirmation mot de passe"- un champ dans lequel vous devez saisir un mot de code inventé précédemment afin d'exclure les erreurs et les clics accidentels, car les caractères saisis sont masqués.
  8. La forme "Entrez un indice de mot de passe" conçu pour vous rappeler votre mot de passe si vous ne vous en souvenez plus. Utilisez des informations connues de vous seul dans l'indice. Ce champ est facultatif, mais nous vous recommandons de le remplir, sinon vous risquez de perdre votre compte et l'accès à votre PC.
  9. Lorsque vous remplissez les informations requises, cliquez sur "Créer un mot de passe".
  10. À ce stade, la procédure de définition du mot de passe est terminée. Vous pouvez consulter l'état de votre protection dans la fenêtre de modification de votre compte. Au redémarrage, Windows exigera une phrase de passe pour se connecter. Si vous n'avez qu'un seul profil avec des privilèges d'administrateur, alors sans connaître le mot de passe, vous ne pourrez pas accéder à Windows.

Méthode 2 : compte Microsoft

Cette méthode vous permettra d'accéder à votre ordinateur en utilisant le mot de passe de votre profil Microsoft. L'expression de code peut être modifiée à l'aide d'une adresse e-mail ou d'un numéro de téléphone.

  1. Trouver "Paramètres de l'ordinateur" dans les applications Windows standard "Le menu Démarrer"(voici à quoi cela ressemble sur 8-ke, dans Windows 10, accédez à "Paramètres" en appuyant sur le bouton correspondant dans le menu "Démarrer" ou en utilisant un raccourci clavier Gagner + je).
  2. Dans la liste des options, sélectionnez une section "Comptes".
  3. Dans le menu latéral, cliquez sur "Votre compte", Plus loin "Se connecter à un compte Microsoft".
  4. Si vous avez déjà un compte Microsoft, saisissez votre adresse e-mail, votre numéro de téléphone ou votre nom d'utilisateur et votre mot de passe Skype.
  5. Sinon, créez un nouveau compte en saisissant les informations demandées.
  6. Après autorisation, une confirmation avec un code unique par SMS sera requise.
  7. Après toutes les manipulations, Windows va demander un mot de passe au compte Microsoft pour se connecter.

Méthode 3 : ligne de commande

Cette méthode convient aux utilisateurs plus avancés, car elle nécessite une connaissance des commandes de la console, mais elle se vante de sa rapidité d'exécution.

Conclusion

La création d'un mot de passe ne nécessite pas de formation particulière ni de compétences particulières. La principale difficulté est d'inventer la combinaison la plus secrète, et non de l'installer. Cependant, vous ne devez pas compter sur cette méthode comme une panacée dans le domaine de la protection des données.

Bonjour! Nous allons maintenant essayer de mettre en œuvre l'enregistrement le plus simple sur le site en utilisant PHP + MySQL. Pour ce faire, Apache doit être installé sur votre ordinateur. Le fonctionnement de notre script est illustré ci-dessous.

1. Commençons par créer la table des utilisateurs dans la base de données. Il contiendra les données de l'utilisateur (login et mot de passe). Passons à phpmyadmin (si vous créez une base de données sur votre PC http://localhost/phpmyadmin/). Créer un tableau utilisateurs, il aura 3 champs.

Je le crée dans la base de données mysql, vous pouvez le créer dans une autre base de données. Ensuite, définissez les valeurs, comme dans la figure :

2. Une connexion à cette table est requise. Créons un fichier bd.php. Son contenu :

$db = mysql_connect("votre serveur MySQL","connectez-vous à ce serveur","mot de passe pour ce serveur");
mysql_select_db ("nom de la base de données à laquelle se connecter", $db);
?>

Dans mon cas ça ressemble à ça :

$db = mysql_connect("localhost","user","1234");
mysql_select_db("mysql",$db);
?>

Nous sauvons bd.php.
Amende! Nous avons une table dans la base de données, une connexion à celle-ci. Vous pouvez maintenant commencer à créer une page où les utilisateurs laisseront leurs données.

3. Créez un fichier reg.php avec du contenu (tous les commentaires à l'intérieur) :



enregistrement


enregistrement
















4. Créer un dossier, qui entrera des données dans la base de données et enregistrera l'utilisateur. save_user.php(commentaires à l'intérieur):



{
}
//si le login et le mot de passe sont entrés, alors nous les traitons afin que les balises et les scripts ne fonctionnent pas, vous ne savez jamais ce que les gens peuvent entrer


// supprimer les espaces supplémentaires
$login = trim($login);
$password = trim($password);
// se connecte à la base de données
// vérifie l'existence d'un utilisateur avec le même login
$result = mysql_query("SELECT id FROM utilisateurs WHERE login="$login"",$db);
if (!empty($maligne["id"])) (
exit("Désolé, le nom d'utilisateur que vous avez entré est déjà enregistré. Veuillez entrer un autre nom d'utilisateur.");
}
// s'il n'y en a pas, enregistrez les données
$result2 = mysql_query ("INSERT INTO users (login,password) VALUES("$login","$password")");
// Vérifie s'il y a des erreurs
si ($result2=="TRUE")
{
echo "Vous vous êtes inscrit avec succès ! Vous pouvez maintenant accéder au site. Page principale";
}
autre(
echo "Erreur ! Vous n'êtes pas connecté.";
}
?>

5. Maintenant, nos utilisateurs peuvent s'inscrire ! Ensuite, vous devez créer une "porte" pour entrer sur le site pour les utilisateurs déjà enregistrés. index.php(commentaires à l'intérieur):

// toute la procédure fonctionne sur les sessions. C'est dans celui-ci que les données de l'utilisateur sont stockées pendant qu'il est sur le site. Il est très important de les lancer en tout début de page !!!
session_start();
?>


Page d'accueil


Page d'accueil











S'inscrire



// Vérifie si les variables login et user id sont vides
si (vide($_SESSION["login"]) ou vide($_SESSION["id"]))
{
// Si vide, nous n'affichons pas le lien
echo "Vous êtes connecté en tant qu'invité
Ce lien n'est disponible que pour les utilisateurs enregistrés" ;
}
autre
{

Dans le fichier index.php nous afficherons un lien qui ne sera ouvert qu'aux utilisateurs enregistrés. C'est tout l'intérêt du script - restreindre l'accès à toutes les données.

6. Il existe un fichier avec vérification du login et du mot de passe saisis. testreg.php (commentaires à l'intérieur):

session_start();// toute la procédure fonctionne sur les sessions. C'est dans celui-ci que les données de l'utilisateur sont stockées pendant qu'il est sur le site. Il est très important de les lancer en tout début de page !!!
if (isset($_POST["login"])) ( $login = $_POST["login"]; if ($login == "") ( unset($login);) ) //mettre le login saisi par l'utilisateur dans la variable $login, si elle est vide, alors nous détruisons la variable
if (isset($_POST["password"])) ( $password=$_POST["password"]; if ($password =="") ( unset($password);) )
//met le mot de passe saisi par l'utilisateur dans la variable $password, si elle est vide, puis détruit la variable
if (empty($login) or empty($password)) //si l'utilisateur n'a pas entré d'identifiant ou de mot de passe, alors nous émettons une erreur et arrêtons le script
{
exit("Vous n'avez pas saisi toutes les informations, revenez en arrière et remplissez tous les champs !");
}
//si le login et le mot de passe sont entrés, alors nous les traitons afin que les balises et les scripts ne fonctionnent pas, vous ne savez jamais ce que les gens peuvent entrer
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
// supprimer les espaces supplémentaires
$login = trim($login);
$password = trim($password);
// se connecte à la base de données
include("bd.php");// le fichier bd.php doit être dans le même dossier que tout le monde, si ce n'est pas le cas, changez simplement le chemin

$result = mysql_query("SELECT * FROM utilisateurs WHERE login="$login"",$db); //récupérer toutes les données sur l'utilisateur avec le login saisi à partir de la base de données
$maligne = mysql_fetch_array($result);
si (vide($maligne["mot de passe"]))
{
//si l'utilisateur avec le login saisi n'existe pas
}
autre(
// s'il existe, vérifier les mots de passe
if ($myrow["password"]==$password) (
//si les mots de passe correspondent, alors nous démarrons la session pour l'utilisateur ! Vous pouvez le féliciter, il est entré !
$_SESSION["login"]=$myrow["login"] ;
$_SESSION["id"]=$myrow["id"];//ces données sont très souvent utilisées, donc l'utilisateur connecté les "portera"
echo "Vous avez réussi à vous connecter au site ! Page principale" ;
}
autre(
// si les mots de passe ne correspondent pas

Exit("Désolé, le login ou le mot de passe que vous avez entré est incorrect.");
}
}
?>

Eh bien voilà tout! Peut-être que la leçon est ennuyeuse, mais très utile. Seule l'idée de l'enregistrement est montrée ici, vous pouvez encore l'améliorer : ajouter une protection, un design, des champs de données, télécharger des avatars, vous déconnecter du compte (pour cela, détruisez simplement les variables de la session avec la fonction non défini) etc. Bonne chance!

Tout vérifié, ça marche bien !