@likejavascript

Как правильно проверить open redirect на безопасность?

Я хочу предотвратить Open redirect атаку в своем nodejs приложении.

Сейчас мая реализация следующая:

var = require('url');

// http://example.com/login?redirect=http://example.com/dashboard
app.route('/login', function (req, res, next) {
   var redirect = req.query.redirect,
        paths = url.parse(redirect); 

   if (paths.host !== req.headers.host) {
      return next(new Error('Open redirect attack detected'));
   }

   return res.redirect(redirect);
});


Безопасно редиректить нужно на основной домен и поддомены:

Например:
example.com/dashboard
dashboard.example.com

Подскажите насколько безопасна моя реализация и что нужно улучшить?
  • Вопрос задан
  • 600 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы