我正在使用nodejs和expressjs处理信息敏感的网络应用。如何允许或限制收件人能够将我的用户文件转发给其他人并获取有关其文件查看次数,持续时间,访问文件的位置以及是否已打印的摘要或下载。
答案 0 :(得分:0)
这个典型的安全主题有几个设计问题,我的答案是关于如何在node.js中支持它们的示例。
如何允许或限制收件人能够将我的用户文件转发给其他人
请注意,从服务器端下载文件后,您将永远无法控制文件。 (这是关于如何跟踪脱机文件本身的另一个主题)。根据express.js的访问控制,您可以参考这个问题:Node.js + Express.js User Permission Security Model
获取有关其文件查看次数,持续时间,访问文件的位置以及是否已打印或下载文件的摘要。
这是关于追踪。您可以使用Google分析等网络分析技术在前端进行此操作。如果要在服务器端进行设计,则通常会使用访问日志。根据express.js,您可以使用中间件morgan
或express-logger
。它将生成日志流到stdout或日志文件,以便您可以获得所有HTTP请求的摘要。看到这个问题What's the best practice for expressjs logging?
使用morgan
的示例代码(贷记给morgan code examples):
var express = require('express')
var morgan = require('morgan')
var app = express()
app.use(morgan('combined'))
app.get('/', function (req, res) {
res.send('hello, world!')
})