本教程演示了在Node.js Web應用程序中構建用戶註冊和登錄系統。 我們將介紹輸入驗證和密碼哈希,以增強安全性。
應用程序設置
首先創建一個項目目錄(例如,“ site-auth”)。 在此目錄中初始化npm:
npm init -y
>密碼驗證使用正則表達式/^[a-zA-Z0-9]{6,30}$/
,執行由字母數字字符組成的6-30個字符。
可以通過result
訪問註冊表格的數據。驗證錯誤導致錯誤消息和重定向到註冊頁面。 還可以防止重複的電子郵件地址。 至關重要的是,在數據庫存儲之前,使用bcrypt進行密碼:
result.value.password = hash成功的註冊顯示成功消息,並將重定向到登錄頁面。 使用以下方式啟動服務器
>訪問註冊頁面
node app.js>。
https://localhost:5000
>登錄功能添加到
>中。 使用JOI定義了登錄驗證架構:
/routes/users.js
const loginSchema = Joi.object().keys({ email: Joi.string().email().required(), password: Joi.string().regex(/^[a-zA-Z0-9]{6,30}$/).required() });>
成功的登錄重定向到儀表板。
router.route('/login') .get((req, res) => { res.render('login') }) .post(async (req, res, next) => { // ... (login validation and password comparison logic) ... });
在
/routes/index.js
router.get('/users/dashboard', (req, res) => { res.render('dashboard') });結論
>本教程的更新是由位於尼日利亞拉各斯的軟件開發人員Mary Okosun的貢獻。
以上是node.js中的站點身份驗證:用戶註冊和登錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!