Разрешить или ограничить пересылку файлов пользователей в nodejs - PullRequest
0 голосов
/ 12 июня 2018

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

1 Ответ

0 голосов
/ 12 июня 2018

Из этой типичной темы безопасности есть несколько вопросов о дизайне, мой ответ о примерах их поддержки в node.js.

Как разрешить или запретить получателям возможностьпересылать файлы моих пользователей кому-то еще

Обратите внимание, что вы никогда не сможете управлять файлом после его загрузки со стороны сервера.(это другая тема о том, как отследить автономный файл).В соответствии с контролем доступа к express.js, вы можете обратиться к этому вопросу: Node.js + Express.js Модель безопасности разрешений пользователей

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

Речь идет о трассировке.Вы можете сделать это на внешнем интерфейсе, используя технологии веб-аналитики, такие как Google Analytics.Если вы хотите создать его на стороне сервера, то общепринятым является журнал доступа.Согласно express.js, вы можете использовать промежуточное ПО morgan или express-logger.где он будет генерировать поток журналов в стандартный вывод или файл журнала, чтобы вы могли получить сводку всех HTTP-запросов.см. этот вопрос Какова лучшая практика для ведения журналов expressjs?

Пример кода использования morgan (кредит примеров кода Моргана ):

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

var app = express()

app.use(morgan('combined'))

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