2016-04-19 41 views
0

我想阻止nodejs将我的秘密pem文件返回到世界。使用快速,我有阻止从nodejs express返回pem文件

app.use(express.static('html'), function (req, res, next) 
{ 
    var pathname = parseurl(req).pathname 
    if (pathname.indexOf('.pem') >= 0) 
    res.status(403).send('<h1>403 Forbidden</h1>') 
    else 
    next() 
}); 

但我仍然能够从我的网站(这是我的安全问题)

回答

1

我建议你将你的.pem下载.pem文件(及任何其他敏感文件)完全脱离节点/表达认为可服务内容的任何路径。

我担心,即使你得到你的示例代码的工作,你的pem容易受到当前或未来的节点/表达利用。

你不想要相当于保护你的秘密的锁车门;-)

+0

这是有道理的。所以如果我将.pem文件移动到一个目录(在html目录之外),我应该仍然可以在我的JavaScript中通过说var path_to_pem ='../mypem.pem'来访问它。 – user1709076

+0

当你说你的JavaScript,你的意思是服务器端在节点或客户端?我不认为你想要任何客户端能够访问敏感文件。但服务器端,是的,你可以把它放在你有RW访问权限的任何目录中。 – GojiraDeMonstah

+0

是的,所以我会创建一个/ api/push(这是公开...即时通讯仍在思考如何处理该问题)的终点,但.pem不在html提供的内容中 – user1709076