connexion nodejs sauter saut de page saut de page

PHPz
Libérer: 2023-05-28 10:55:07
original
860 Les gens l'ont consulté

nodejs login jump page jump page jump

Node.js est un environnement d'exécution JavaScript basé sur le moteur Chrome V8. Il permet à JavaScript de s'exécuter côté serveur, réalisant ainsi le concept d'un langage de développement front-end et back-end unifié. Node.js est largement utilisé dans le développement Web, jouant notamment un rôle important dans les fonctions de connexion et les sauts de page. Cet article combinera l'implémentation du code pour présenter en détail les connaissances liées à la connexion Node.js et au saut de page.

1. Implémentation de la fonction de connexion

Lors de l'utilisation de Node.js pour implémenter la fonction de connexion, nous devons faire attention aux points suivants :

1) Lors de l'utilisation du protocole HTTP pour transmettre des données, afin d'empêcher le mot de passe de étant transmis en texte clair, le protocole HTTPS doit être utilisé.

2) Le front-end envoie le nom d'utilisateur et le mot de passe saisis par l'utilisateur au back-end via une requête AJAX.

3) Le backend doit passer une vérification pour déterminer si le nom d'utilisateur et le mot de passe sont corrects. Si la vérification est réussie, définissez la session pour enregistrer le statut de connexion de l'utilisateur.

Ce qui suit est un exemple de code pour implémenter la fonction de connexion :

Code back-end :

const express = require('express')
const bodyParser = require('body-parser')
const session = require('express-session')

const app = express()

// 配置 body-parser,用于解析 post 请求体
app.use(bodyParser.urlencoded({
  extended: false
}))

// 配置 express-session,用于保存 session
app.use(session({
  secret: 'keyboard cat',
  cookie: { maxAge: 60000 }
}))

// 登录接口
app.post('/login', (req, res) => {
  const username = req.body.username
  const password = req.body.password

  // TODO: 验证用户名和密码是否正确,这里省略代码...

  // 设置 session
  req.session.username = username

  // 返回登录成功信息
  res.status(200).send('登录成功!')
})

app.listen(3000, () => {
  console.log('Server is running on port 3000')
})
Copier après la connexion

Code frontal :

<form>
  <input type="text" name="username">
  <input type="password" name="password">
  <button type="button" onclick="login()">登录</button>
</form>

<script>
function login() {
  // 获取用户名和密码
  const username = document.getElementsByName('username')[0].value
  const password = document.getElementsByName('password')[0].value

  // 发送登录请求
  const xhr = new XMLHttpRequest()
  xhr.open('POST', '/login', true)
  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
  xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
      alert(xhr.responseText)
    }
  }
  xhr.send(`username=${username}&password=${password}`)
}
</script>
Copier après la connexion

2. Implémentation du saut de page

Une fois que l'utilisateur s'est connecté avec succès, nous devons sauter l'utilisateur de se connecter avec succès aux pages suivantes. La clé pour réaliser un saut de page est de rediriger la demande de l'utilisateur vers l'URL spécifiée. Node.js fournit la méthode res.redirect() pour implémenter le saut de page. Voici un exemple de code pour implémenter le saut de page :

// 需要登录才能访问的页面
app.get('/secret', (req, res) => {
  // 如果用户未登录,重定向到登录页
  if (!req.session.username) {
    res.redirect('/login.html')
    return
  }

  // 如果用户已登录,返回页面内容
  res.send('这是一篇需要登录才能访问的文章。')
})
Copier après la connexion

Dans le code ci-dessus, nous utilisons req.session pour déterminer si l'utilisateur est connecté. Si l'utilisateur n'est pas connecté, utilisez res.redirect() pour rediriger vers la page de connexion.

De plus, dans Node.js, l'accès aux fichiers statiques (tels que HTML, CSS, JS et autres fichiers) nécessite l'utilisation du middleware express.static(). Placez les fichiers statiques dans le répertoire public, puis utilisez le code suivant pour démarrer l'application :

app.use(express.static('public'))

app.listen(3000, () => {
  console.log('Server is running on port 3000')
})
Copier après la connexion

Ainsi, les utilisateurs peuvent accéder aux fichiers statiques en accédant à des adresses telles que http://localhost:3000/login.html et http:/ /localhost:3000/fichiers secrets et pages dynamiques.

Résumé

La mise en œuvre des fonctions de connexion et de saut de page dans Node.js nécessite une vérification, une session, une redirection et d'autres technologies. Parmi eux, vérifier si le nom d'utilisateur et le mot de passe de l'utilisateur sont corrects est la clé pour réaliser la fonction de connexion ; utiliser la session pour enregistrer le statut de connexion de l'utilisateur afin de déterminer si l'utilisateur s'est connecté lors des demandes ultérieures en utilisant la méthode res.redirect() ; implémenter des sauts de page. Dans le développement réel, des améliorations et des améliorations appropriées doivent être apportées en fonction des besoins spécifiques.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!