Maison > interface Web > Questions et réponses frontales > Connexion aux paramètres JavaScript

Connexion aux paramètres JavaScript

王林
Libérer: 2023-05-22 09:55:07
original
830 Les gens l'ont consulté

JavaScript est un langage de programmation couramment utilisé, généralement utilisé pour les effets interactifs et le traitement dynamique des données sur les pages Web. Dans les applications Web, la connexion est une fonction très importante, qui implique des problèmes tels que la sécurité et la protection de la confidentialité des informations des utilisateurs. Aujourd'hui, nous allons explorer comment utiliser JavaScript pour configurer la fonctionnalité de connexion, notamment la validation des entrées utilisateur, la gestion des demandes de connexion, la mémorisation des utilisateurs et la déconnexion, etc.

Vérifier les entrées de l'utilisateur

Avant de configurer la fonction de connexion, nous devons nous assurer que les informations saisies par l'utilisateur sont légales et valides, telles que le nom d'utilisateur et le mot de passe. Pour valider la saisie de l'utilisateur, nous pouvons utiliser des méthodes telles que les expressions régulières, la validation de formulaire et l'authentification côté serveur.

Les expressions régulières sont un langage permettant de faire correspondre des modèles, ce qui peut nous aider à vérifier si l'entrée est valide ou bien formatée. Par exemple, une simple expression régulière peut vérifier si l'entrée est une adresse e-mail valide :

function validateEmail(email) {
  const re = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/;
  return re.test(String(email).toLowerCase());
}
Copier après la connexion

La validation de formulaire est une autre méthode de validation de l'entrée utilisateur, qui peut vérifier la validité de l'entrée en définissant des règles et des invites d'erreur. Par exemple, nous pouvons utiliser du code HTML et JavaScript pour valider un formulaire de connexion, en garantissant que le nom d'utilisateur et le mot de passe sont requis et que le nom d'utilisateur contient au moins 6 caractères :

<form id="loginForm" onsubmit="return validateForm()">
  <label for="username">Username:</label>
  <input type="text" id="username" name="username" required minlength="6"><br><br>
  <label for="password">Password:</label>
  <input type="password" id="password" name="password" required><br><br>
  <input type="submit" value="Log in">
</form>

<script>
function validateForm() {
  const username = document.getElementById("username").value;
  const password = document.getElementById("password").value;
  if (username.length < 6) {
    document.getElementById("username").setCustomValidity("Username must contain at least 6 characters");
    return false;
  } else {
    document.getElementById("username").setCustomValidity("");
  }
  if (password.length < 8) {
    document.getElementById("password").setCustomValidity("Password must contain at least 8 characters");
    return false;
  } else {
    document.getElementById("password").setCustomValidity("");
  }
  return true;
}
</script>
Copier après la connexion

L'authentification côté serveur est la dernière ligne de défense et garantit que l'utilisateur entrée Les informations sont légales et valides car elles vérifient que le nom d'utilisateur et le mot de passe correspondent aux enregistrements de la base de données. Par exemple, nous pouvons utiliser Node.js et le framework Express pour implémenter l'authentification côté serveur :

app.post('/login', function(req, res) {
  const username = req.body.username;
  const password = req.body.password;
  if(username === 'admin' && password === 'admin') {
    res.status(200).send('Login successful');
  } else {
    res.status(401).send('Invalid username or password');
  }
});
Copier après la connexion

Gestion des demandes de connexion

Une fois que l'utilisateur a saisi un nom d'utilisateur et un mot de passe valides et qu'il est authentifié, nous devons l'utiliser pour gérer la demande de connexion et créer une session. Une session est une méthode d'interaction entre le serveur et le client, qui permet au serveur de maintenir le contact avec le client pendant une certaine période de temps et de sauvegarder le statut et les informations de l'utilisateur sur le serveur.

Dans les applications Web, nous pouvons utiliser des cookies et des sessions pour créer et gérer des sessions utilisateur. Parmi eux, un cookie est un petit fichier texte qui peut être stocké sur l'ordinateur de l'utilisateur par le navigateur Web et envoyé au serveur lors de sa prochaine visite sur le site Web ; il s'agit d'une structure de données côté serveur qui peut stocker et gérer l'utilisateur ; statut et informations.

Par exemple, nous pouvons utiliser du code JavaScript pour créer une session et stocker les informations utilisateur :

function login(username, password) {
  const xhr = new XMLHttpRequest();
  xhr.open('POST', '/login');
  xhr.setRequestHeader('Content-Type', 'application/json');
  xhr.onload = function() {
    if (xhr.status === 200) {
      const response = JSON.parse(xhr.responseText);
      const user = response.user;
      const sessionId = response.sessionId;
      // Save user information and sessionId in cookies
      document.cookie = `user=${user}`;
      document.cookie = `sessionId=${sessionId}`;
      // Redirect user to home page
      window.location.href = '/home';
    } else {
      alert('Invalid username or password');
    }
  };
  const data = JSON.stringify({ username: username, password: password });
  xhr.send(data);
}
Copier après la connexion

Dans cet exemple, nous utilisons l'objet XMLHttpRequest pour envoyer une requête POST, en envoyant le nom d'utilisateur et le mot de passe au serveur pour vérification. Si la connexion réussit, le serveur renverra les informations utilisateur et l'ID de session, que nous pouvons stocker dans des cookies. Nous redirigeons ensuite l'utilisateur vers la page d'accueil, en maintenant la session utilisateur grâce aux informations contenues dans le cookie.

Mémoriser l'utilisateur

Une fois l'utilisateur connecté, nous pouvons améliorer l'expérience utilisateur en mémorisant le nom d'utilisateur et le mot de passe et permettre à l'utilisateur de se connecter automatiquement lors de sa prochaine visite sur le site Web. Ceci peut être réalisé en stockant le nom d'utilisateur et le mot de passe dans des cookies.

Par exemple, nous pouvons utiliser du code JavaScript pour mémoriser le nom d'utilisateur et le mot de passe d'un utilisateur :

function rememberMe() {
  const username = document.getElementById('username').value;
  const password = document.getElementById('password').value;
  if (document.getElementById('rememberMe').checked) {
    // Save username and password in cookies for 30 days
    const expires = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toUTCString();
    document.cookie = `username=${username}; expires=${expires};`;
    document.cookie = `password=${password}; expires=${expires};`;
  } else {
    // Remove username and password from cookies
    document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC;";
    document.cookie = "password=; expires=Thu, 01 Jan 1970 00:00:00 UTC;";
  }
}
Copier après la connexion

Dans cet exemple, nous avons utilisé une case à cocher pour représenter l'option "Se souvenir de moi". Si l'utilisateur coche cette option, nous stockons le nom d'utilisateur et le mot de passe dans un cookie et fixons le délai d'expiration à 30 jours. Si l'utilisateur annule cette option, nous supprimerons le nom d'utilisateur et le mot de passe du cookie.

Déconnexion

Enfin, nous devons fournir aux utilisateurs un moyen pratique de se déconnecter afin d'éviter toute utilisation accidentelle ou illégale du compte de l'utilisateur. La déconnexion nécessite la destruction de la session utilisateur et la suppression des informations contenues dans les cookies.

Par exemple, nous pouvons utiliser du code JavaScript pour nous déconnecter :

function logout() {
  const xhr = new XMLHttpRequest();
  xhr.open('POST', '/logout');
  xhr.setRequestHeader('Content-Type', 'application/json');
  xhr.onload = function() {
    if (xhr.status === 200) {
      // Remove user information and sessionId from cookies
      document.cookie = 'user=; expires=Thu, 01 Jan 1970 00:00:00 UTC;';
      document.cookie = 'sessionId=; expires=Thu, 01 Jan 1970 00:00:00 UTC;';
      // Redirect user to login page
      window.location.href = '/login';
    } else {
      alert('Logout failed');
    }
  };
  const sessionId = getCookie('sessionId');
  const data = JSON.stringify({ sessionId: sessionId });
  xhr.send(data);
}
Copier après la connexion

Dans cet exemple, nous utilisons l'objet XMLHttpRequest pour envoyer la requête POST, en envoyant l'ID de session au serveur. Le serveur détruira la session utilisateur et renverra un code d'état de réussite. Nous supprimerons ensuite les informations utilisateur et l'ID de session du cookie et redirigerons l'utilisateur vers la page de connexion.

Conclusion

Dans cet article, nous avons exploré comment utiliser JavaScript pour configurer la fonctionnalité de connexion, notamment la validation des entrées utilisateur, la gestion des demandes de connexion, la mémorisation des utilisateurs et la déconnexion, etc. La connexion est une fonction très importante dans les applications Web et implique des problèmes importants tels que la sécurité et la protection de la confidentialité des informations des utilisateurs. En utilisant des technologies telles que JavaScript et l'authentification côté serveur, nous pouvons garantir que les informations saisies par les utilisateurs sont légales et valides, et améliorer l'expérience utilisateur et la sécurité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal