由Heroku上的Nodejs提供身份验证图像

时间:2017-10-20 13:46:07

标签: node.js express heroku

我有一个用于在Nodejs中编码的移动应用程序的服务器。 用户可以上传一些只有他可以访问的照片。 为此,我通过快速静态路由提供照片,检查令牌。

  1. 用户通过表格在服务器快速路线上传照片

    $http.post('myserver.it/user/:iduser/photo', {'photo':blob})

  2. Nodejs服务器加载图像并将其保存在

    下的文件系统中

    ./photos/user/:iduser/photos

  3. 然后用户的图像可以

    http://myserver.it/user/:iduser/photo/:idphoto?token=######

  4. 服务器检查令牌,如果用户获得授权,则获取照片。

    效果很好,但我想知道它是否是一个很好的解决方案。

    现在我使用免费计划将它部署在heroku上。这是实现此功能的好方法吗? 谢谢

1 个答案:

答案 0 :(得分:0)

取决于你对“好”和“安全”的定义,但通常没有。您在URL中公开了令牌,因此拥有该URL的任何人都可以获取该用户的照片。其次,您是通过HTTP进行的,因此即使您将令牌移至标头或Cookie,同一网络上的任何人都可以窃取该令牌。

我的第一个想法是移动应用程序,不要在单个用户的服务器上放置东西。只需在当地存储。

如果必须将其放在服务器上,请将其保存到更大容量的位置,例如S3或类似服务。 Heroku文件系统经常消失,因此您无法在那里保存并期望它保留。