Articles of security

rails和nodejs之间的安全性

我有一个应用程序,主要是在轨道上,但也使用nodejs的一些实时function,例如聊天。 用户通过Railslogin并像往常一样分配会话等。 但是,与同一用户进行身份validation的最佳方式是什么? 例如,我想阻止用户模仿对方,但现在在rails上完成login,并在nodejs上完成消息传递。 Rails和nodejs都可以访问同一个数据库。 如果有问题,我正在使用devise和插件。

阻止访问AngularJS中的pipe理页面

我想知道AngularJS中最好的方法是保护pipe理页面,即普通用户不应该看到的页面。 显然,会有后端authentication,但由于AngularJS应用程序是客户端,人们仍然可以从理论上看路由,直接转到这些URL并查看pipe理页面。 我使用Express,PassportJS和MongoDB(Mongoose)作为我的后端。 自然,他们将无法与pipe理页面进行交互,因为在创build,删除服务器端身份validation,但我宁愿甚至不提供页面给用户,如果他们没有适当的访问。 由于该应用程序是完全客户端JS,但我认为这是不可能的,因为人们可以修改路由和其他东西。 最好的办法是什么呢? 感谢您的任何意见!

如何保护Socket.IO?

我一直在与Socket.IO工作几天,这是非常令人兴奋,更令人沮丧的。 缺乏当前的文档/教程使得学习非常困难。 我终于成功地创build了一个基本的聊天系统,但有一个明显的问题。 我如何保护它? 什么阻止恶意用户复制(或编辑)我的代码并连接到我的服务器? 我可以从我的PHP脚本中获取用户名,并将其提交给Socket.IO,以便我可以将它们识别为该用户(并且PHP当然具有安全性),但是阻止某人提交未注册的用户名? 我怎样才能确保提交的事件是真实的,没有被篡改? 我的基本socket.io聊天的参考。 服务器: var io = require('socket.io').listen(8080); var connectCounter = 0; io.sockets.on('connection', function (socket) { connectCounter++; console.log('People online: ', connectCounter); socket.on('set username', function(username) { socket.set('username', username, function() { console.log('Connect', username); }); }); socket.on('emit_msg', function (msg) { // Get the variable 'username' socket.get('username', function (err, username) { console.log('Chat message by', […]