Tag: 安全

一个好的npm模块散列和腌制用户login/ passwd?

在工作中,我们希望通过使用每个用户独特的盐来升级我们的节点应用程序authentication。 我们已经使用我们的手写密码validation护照和本地护照 ,将密码散列存储在数据库中,并用普通食盐进行腌制。 我想正确升级它。 我知道的第一个安全规则之一就是不要自己做 : https : //crackstation.net/hashing-security.htm 但是,我很难find一个体面的,可信的npm模块来处理这个问题。 用“salt”或“auth”searchnpm得到了这些模块: https://github.com/florianheinemann/password-hash-and-salt https://github.com/davidbanham/hashPass 他们的文档不清楚,他们在GitHub上只有不到10颗星。 有人可以指向我一个好的模块散列/腌制/检查我的密码?

我怎样才能在JSON中安全地使用用户提供的文本?

我有一个Node应用程序需要用户input(一个用户名和密码),并提出请求到另一个API与这两件事情包括在内。 我有一个function,应该这样做: getTokenFromLogin = function(user, pass) { var promise = new Promise(function(resolve, reject) { var options = this.options; options.url = endpoints.login; options.method = 'POST'; options.form = { 'username': user, 'password': pass }; request(options, function (err, httpResponse, body) { if (err) return reject(err); resolve(body); }); }); return promise; }; 然而,从理论上讲,攻击者不能只是input一个JSON格式的string来处理我的请求对象呢? 如果是这种情况,我如何确保这些string是安全的? 我已经看到了两个方法,JSON.parse()和JSON.stringify(),但我没有发现什么澄清我应该使用什么,以及如何这些方法可以阻止这种types的漏洞。

在mongodb / node中存储敏感数据

我正在开发一个项目,要求我的networking应用程序从用户那里收集敏感信息(例如驾照的照片)。这是通过在Angular上进行file upload完成的,我计划将这些图像作为二进制数组存储在MongoDB中。 我也在考虑直接在服务器上使用node.js(busbuy或fs我相信)来存储图像,并在服务器中存储图像的引用(在两种情况下,API点都实现了适当的访问控制)。问题是。我不知道这两种方法会有多安全。 像密码一样,我不认为存储敏感数据(DL,SSN)的“原始/原始”图像在任何意义上都是安全的。 什么是保护敏感图像在服务器上存储的方法?

Express JS – 检测电脑机器人,垃圾邮件

我试图在网上search,但没有得到这种东西。 我正在寻找expressjs / nodejs框架来识别和阻止垃圾邮件和从我的服务器抓取数据的计算机/用户。 我想保护我的服务器免受机器人。 只允许用户在那里和最好的框架。 function如 鉴定 阻止用户/ ips /networking 读取模式

在MongoDB中访问控制

比方说,一个应用程序是纯粹使用JavaScript和node.js直接连接到MongoDB的后端。 在这种情况下,有可能有一个安全的应用程序,用户login和权限分离像pipe理/用户/来宾。 如果是这样如何工作? 它需要什么?

使用root权限安装node.js是否有缺点?

我正在使用下面的代码来安装节点: cd /usr/local/src/ wget http://nodejs.org/dist/v0.10.25/node-v0.10.25.tar.gz tar -xvf node-v0.10.25.tar.gz cd node-v0.10.25 ./configure make make install # node.js links to make sudo work right ln -s /usr/local/bin/node /usr/bin/node ln -s /usr/local/lib/node /usr/lib/node ln -s /usr/local/bin/npm /usr/bin/npm ln -s /usr/local/bin/node-waf /usr/bin/node-waf 该脚本需要root权限,我想知道是否会打开任何安全漏洞的可能性,或类似的东西。 我想安装节点,以便所有的用户都可以使用它,但我不希望它有任何root权限,除非用户有他们,并明确地使用它们(通过sudo)。 与安装的npm包一样。

保护POST请求

我有一个expresjs应用程序 如何在发布表单时确保ID。 我有一个隐藏的字段ID的forms: <input type="text" name="id" id="id" hidden="hidden" value="1"> 该ID可以很容易地更改为无效的数据发布到我的数据库。 我怎样才能保护它? 我应该哈希吗?

当攻击者获得用于生成JWT的秘密时会发生什么?

据我所知,JWT身份validation基本上是这样工作的: 用户将login凭据发送到服务器 如果login凭证是正确的,则服务器发出一个包含用户标识和用户名的JWT(或任何你想在有效载荷中标识用户的) 此JWT是使用应用程序范围的秘密生成的,应该将其存储在环境variables中 JWT由用户存储,例如存储在localStorage中,并在每个请求中向服务器发送报头 来自auth头文件的JWT使用应用程序范围的秘密进行validation。 如果validation成功,我们知道谁发送了请求,以及请求是否被授权。 但是如果攻击者能够访问用于生成智威汤逊的秘密,会发生什么? 是不是像主密码? 随着秘密和用户的ID /用户名,任何人都可以为任何用户发布JWT,并基本上接pipe任何帐户。 这不是一个巨大的缺陷,因为一小块信息会危及整个系统(而不仅仅是一个用户帐户)? 还是我误会了?

在哪里存储凭据?

我正在构build一个包含图像上传function的应用程序,并决定使用Aws S3作为文件存储服务。 为了将图像上传到aws s3,您需要为该服务提供具有凭据的API。 为了保证这些证书的安全,我决定将它们存储在我自己的服务器上,并且只在需要上载图像时才将它们提供给客户端。 以下是我上传图片的过程: 1)客户端从相机胶卷select图像并点击上传button 2)该应用程序向我自己的服务器发出请求,并通过图像托pipe服务的访问密钥(aws s3) 3)客户端现在可以上传图片到aws s3。 上传完成后,客户端将删除证书。 我的问题是: 1)这样做是否安全? – 有没有更好的方法来处理这个问题? 2)我应该在哪里存储凭据在我的服务器,以保持他们的安全? 我的意思是我应该将它们存储在一个文件,数据库,代码中? *我使用graphql / expressjs作为后端,并将本机作为前端进行响应。

服务器端消息数据安全

将从客户端接收的服务器端消息内容清理为查询string参数之一的最佳方法是什么? 这个消息也意味着被重新发送到其他连接的客户端,所以它在服务器或客户端的代码执行或注入(JavaScript或HTML)方面是安全的。