Успешно получил промежуточное программное обеспечение csrf, работающее в курьере в соответствии с предыдущими вопросами SO. Он генерирует маркеры, но он отрицает ВСЕ представления формы.CSRF Middleware, вызывающий проблемы Node.JS + Express
Единственный возможный конфликт, который я вижу, заключается в том, что я использую redis в качестве хранилища сеансов с подключением-redis и подключением socket.io к сеансу, но я прокомментировал биты сокета, и он все еще не играет хорошо.
Это заказ, который я называю своим промежуточным программным обеспечением, возможно, здесь причудливым?
(CoffeeScript)
app.configure ->
app.set 'views', __dirname + '/views'
app.set 'view engine', 'jade'
app.use express.bodyParser()
app.use express.methodOverride()
app.use express.cookieParser()
app.use express.session
secret: "itsasecret"
store: sessionStore
app.use express.csrf()
app.dynamicHelpers
token: (req, res) ->
req.session._csrf
app.use app.router
app.use express.static(__dirname + '/public')
Это маршрут, который отвечает на посланных данных.
(Это не код развития, только у меня обучение узел Я хорошо знаю, что это будет чудовищно, если я ставлю его в Интернете)
app.post '/admin/logintry', (req, res) ->
if req.body.username is 'Tim' and req.body.password is 'TempPassword'
req.session.adminIn = true
res.redirect '/admin/home'
else
res.redirect '/admin/login?failed=true'
Вот HTML, который достигает браузера на странице формы :
<input type="hidden" token="5ODFxml1QAhQvOmq1QE6Qd7n">
И ответ, полученный от "/ админ/logintry":
Forbidden
N ew to Node, Express и SO, только недавно правильно изучил javascript, не зная, где даже начать искать проблемы. Любая помощь, даже на том, с чего начать копать, очень ценится.
Cheers.
Все работает сейчас. Вызвал имя при фиксации по предыдущему вопросу. Спасибо за быстрый ответ! –