nodejs mongodb chrome раскрыл пароль потенциального доступа к данным исправление

#javascript #node.js #mongodb #express #passport.js

#javascript #node.js #mongodb #выражать #passport.js #экспресс

Вопрос:

Я использую mongodb с nodejs в веб-приложении, использующем Chrome в качестве своего браузера. Когда я вхожу в свою систему, она проходит аутентификацию через passport.js . Но Chrome видит это как открытый пароль. Что я должен сделать, чтобы предотвратить это. Нужно ли мне добавить что-то вроде B crypt поверх passport.js ? Таким образом, пароль не раскрывается, и Chrome не выдает это предупреждение.

После успешного входа в систему и перенаправления на мою главную страницу возникает ошибка, но мой вход в систему прошел успешно

Маршруты

 
router.get("/main",isLoggedIn,function(req,res)
{
    res.render("main");
});
//Login logic
router.post("/signin", passport.authenticate("local",
    {
        successRedirect : "/main",
        failureRedirect : "/signup"
    }),function(req, 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>

  

Если вам нужно что-то еще, чтобы ответить на этот вопрос, пожалуйста, спросите.

Комментарии:

1. Не потому ли, что вы используете базовый пароль для тестирования? Google выдаст вам предупреждение, если вы используете какой-либо базовый пароль для тестирования, например «test123» или что-то еще в Chrome, независимо от того, что делает ваше приложение.

2. ах да, я использовал это для тестирования. Я изменил его, и он работает. Кажется, что это глупая ошибка, было бы неплохо, если бы Chrome сообщил вам подробности ошибки. Не стесняйтесь публиковать в качестве ответа для других пользователей, поскольку это может сэкономить кому-то время.

Ответ №1:

Это потому, что вы используете базовый пароль для тестирования. Google выдаст вам предупреждение, если вы используете какой-либо базовый пароль для тестирования, например «test123» или что-то еще в Chrome, независимо от того, что делает ваше приложение.

Вам не нужно вручную шифровать пароль при использовании passport.js локальная стратегия.