为什么我会收到“网站或应用程序上的数据泄露泄露了您的密码。Chrome 建议您立即更改“SITENAME”上的密码。”

IT技术 node.js reactjs rest google-chrome axios
2021-05-12 22:51:28

我创建了一个应用程序,用 bcrypt 存储您的密码,表单的输入类型是密码。我不明白为什么我会收到此警报?为什么我会收到“网站或应用程序上的数据泄露泄露了您的密码。Chrome 建议您立即更改“SITENAME”上的密码。”

  axios.post(`/signup`, {
                userBody: values.username,
                passwordBody: values.password
            }).then(response => console.log(response))
                .then(response => history.push('/login'))
                .catch(error => {
                    setErrors({
                        error: error.response.status
                    })
                })
        } else {

            alert('cant be empty fields')
        }
    }



服务器.js

app.post('/signup', async (req, res) => {

const today = new Date();
const userData = {
    username: req.body.userBody,
    password: req.body.passwordBody,
    created: today
};
User.findOne({
    where: {
        username: req.body.userBody
    }
})
    .then(user => {
        if (!user) {
            bcrypt.hash(req.body.passwordBody, 10, (err, hash) => {
                userData.password = hash
                User.create(userData)
                    .then(user => {
                        res.json({ status: user.username + " registered" })
                    })
                    .catch(err => {
                        res.send('error' + err)
                    })

            })
        }
        else {
            res.status(500).json({ message: 'message' })
            console.log('User exists')
        }

    })
    .catch(err => {
        res.send('error' + err)
    })

})

4个回答

代码显示正常。如果您使用的是谷歌浏览器,它有一项功能,可以在您使用的密码之前被泄露时发出警告。因此,如果您使用通用密码进行测试,则可能会发生这种情况。如果这是生产,那么您应该按照警告指示更新密码。

消费者事务文章链接:新版 Chrome 会在用户密码因数据泄露而泄露时发出警告

这是谷歌浏览器的一项新功能,用于检查密码泄露,您可以在这篇谷歌文章中阅读更多信息:https : //security.googleblog.com/2019/12/better-password-protections-in-chrome.html

他们也有这个 Beta API:https : //cloud.google.com/recaptcha-enterprise/docs/check-passwords ,我们可以直接检查用户/密码是否被泄露,而不是依赖 Chrome 来通知向用户/客户发出警告。

我在 vercel 开发环境中的应用程序构建中遇到了同样的问题,我通过将密码更改为更复杂和安全的密码来解决。也就是说,它与您的应用程序无关

这种情况会发生,虽然代码可能没问题,但如果你能照顾好它会更好。

我建议以下三步过程:

  1. 验证您的站点具有安全浏览状态
  2. 报告错误的网络钓鱼警告
  3. Google Search Console 中注册您的网站

最好的,