Node.js можно ли запретить клиенту доступ к конечной точке / register_success, кроме как через res.redirect ()? - PullRequest
0 голосов
/ 05 октября 2019

Когда клиент успешно регистрируется в моем приложении node.js, он перенаправляется на страницу успеха,

res.redirect('/register_success');

Однако любой клиент может получить доступ к этой конечной точке, набрав www.mysite/register_success в адресной строке.

Существует ли метод, который может ограничить доступ клиентов к этой конечной точке, если только маршрутизатор не перенаправит их к ней после успешной регистрации? Я ищу, но ничего не могу найти.

1 Ответ

1 голос
/ 05 октября 2019

Вам нужен какой-то способ отслеживания состояния между просмотрами страниц.

Традиционно это делается с помощью файла cookie, который содержит идентификатор сеанса, причем состояние сеанса сохраняется на стороне сервера. Вы можете использовать express-session , который сделает это за вас.

Из документации :

app.use(session({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true
}))

app.use(function (req, res, next) {
  if (!req.session.views) {
    req.session.views = {}
  }

  // get the url pathname
  var pathname = parseurl(req).pathname

  // count the views
  req.session.views[pathname] = (req.session.views[pathname] || 0) + 1

  next()
})

app.get('/foo', function (req, res, next) {
  res.send('you viewed this page ' + req.session.views['/foo'] + ' times')
})

app.get('/bar', function (req, res, next) {
  res.send('you viewed this page ' + req.session.views['/bar'] + ' times')
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...