Анонимные пользователи в направляющих — соображения безопасности?

В случае, если вы хотите записать все запросы в файл журнала, я бы предложил использовать morgan - npm

Морган дает много опций для выбора того, что регистрируется и в каком формате. [ 113]

Вот пример:

var express = require('express')
var fs = require('fs')
var morgan = require('morgan')
var path = require('path')

var app = express()

// create a write stream (in append mode)
var accessLogStream = fs.createWriteStream(path.join(__dirname, 'access.log'), { flags: 'a' })

// setup the logger
app.use(morgan('combined', { stream: accessLogStream }))

app.get('/', function (req, res) {
  res.send('hello, world!')
})

7
задан Tim Sullivan 7 January 2009 в 18:29
поделиться

4 ответа

Единственная реальная проблема безопасности будет, если эти анонимные пользователи могут выполнить критические операции.

Ваша система означает, что любой с определенным cookie получит доступ на сайт. Не обязательно грандиозное предприятие, но это действительно зависит от типа информации, которую предоставляют Ваши пользователи.

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

4
ответ дан 7 December 2019 в 10:09
поделиться

Вы уверены, что хотите позволить людям создать объекты, которые связываются с учетными записями, которые не могут существовать? К сожалению, я не знаю много о том, что на самом деле делает Ваше приложение, но я думал бы, что потеря работоспособности по этому пути могла бы оставить Вас с набором осиротевших объектов не действительно "принадлежавшими" любым реальным пользователям.

Если Вы действительно хотите сделать это, я думаю, что Вы имеете, достойно. Вы могли создавать реального пользователя, отмеченного как "гость" (или безотносительно) и после того как пользователь хочет действительно зарегистрироваться, они запрашиваются другую информацию и не отмечаются. Необходимо добавить управление доступом для гостя по сравнению с негостем и т.д.

0
ответ дан 7 December 2019 в 10:09
поделиться

Принятие сессии сохраняется для некоторого разумного срока, и сеансовые куки не истекают, который должен поддерживать все в рабочем состоянии гладко.

Возможно, необходимо установить отдельный долговечный cookie для нового пользователя, таким образом, у них может быть несколько сессий (по крайней мере, от того браузера).

0
ответ дан 7 December 2019 в 10:09
поделиться

Я только что нашел довольно интересный пример «пробных пользователей», использующих Authlogic: http://github.com/gisikw/authlogic_trial

2
ответ дан 7 December 2019 в 10:09
поделиться
Другие вопросы по тегам:

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