nodejs mongodb chrome暴露的密码潜在的数据漏洞修复

问题描述

我在使用chrome作为浏览器的Web应用程序中将mongodb与nodejs一起使用。当我登录到系统时,它将通过passport.js进行身份验证。但是chrome将此视为公开的密码。我应该怎么做才能防止这种情况。我是否需要在passport.js顶部添加类似B地穴的内容?因此密码不会被泄露,Chrome不会发出此警告。

成功登录并重新路由到我的主页后,会发生错误,但我的登录成功

路线


router.get("/main",isLoggedIn,function(req,res)
{
    res.render("main");
});
//Login logic
router.post("/signin",passport.authenticate("local",{
        successRedirect : "/main",failureRedirect : "/signup"
    }),res){
    
});

护照设置

//Setup passport
app.use(passport.initialize());
app.use(passport.session());
//Serialize user and deseriallize user allows for encoding and decoding
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
passport.use(new LocalStrategy(User.authenticate()));

我的登录表单进入了路线:


<form action = "/signin" method="POST">
    <input type="text" name="username" placeholder="username">
    <input type="password" name="password" placeholder="password">
    <button>Sign in</button>
</form>

如果还有其他需要回答的问题,请询问。

解决方法

这是因为您使用的是基本密码进行测试。如果您使用基本密码进行测试(例如“ test123”)或Chrome中的其他功能(无论您的应用程序执行什么操作),Google都会向您发出警告。

使用password.js本地策略时,您无需手动加密密码。