如何在 express nodejs 中保存和使用文件 "safely"?
How to save and use file "safely" in express nodejs?
我想在我的项目中保存用户文件,例如用户的个人资料图片(jpg) 或用户的成绩信息(xml)。
现在,我知道了
- 如何在express中实现上传过程
- 如何在 express 中使用静态文件路径(在“public”目录)(对于“CSS”、“JS”、“页面图像”)
但是,如果我在 public 目录中上传用户文件,客户端可以使用 url 访问 public 目录中的文件,例如“my_website/public/.../ ....xml”。我认为这不利于安全,因为每个人都可以访问其他人的头像、成绩信息等。
那么,我的问题是
- 可以将用户的敏感信息保存在public(静态)目录中吗?
- 如果没有,除了数据库,还有什么方法可以安全地保存文件吗?
- 在真实的网站中,他们将用户的敏感信息文件保存在哪里?它是否与 main.js 之类的服务器文件位于同一目录中?还是完全是另一台服务器?
Is it okay to save user's sensitive information in public(static) directory?
不,这不行。这允许任何人访问私人信息。
If not, is there any way to save file safely except database?
是的,还有其他方法。例如,您可以将用户的信息存储在该用户专用的目录中,并且只允许用户访问他们自己目录中的数据。这显然需要使用某种用户名和 credential/password 进行身份验证。您不会使用 express.static()
来访问私人信息。相反,您将为每种类型的资源创建一个路由,验证登录用户是谁,并仅提供对属于该登录用户的资源的访问。
In real websites, where they save user's sensitive information file? Is it in same directory with server files like main.js? or completely another server?
有很多方法可以实现用户特定的存储,但它不太可能与其他服务器资源(如代码文件)存储在同一目录中。用户特定的数据将存储在其他地方。
我想在我的项目中保存用户文件,例如用户的个人资料图片(jpg) 或用户的成绩信息(xml)。
现在,我知道了
- 如何在express中实现上传过程
- 如何在 express 中使用静态文件路径(在“public”目录)(对于“CSS”、“JS”、“页面图像”)
但是,如果我在 public 目录中上传用户文件,客户端可以使用 url 访问 public 目录中的文件,例如“my_website/public/.../ ....xml”。我认为这不利于安全,因为每个人都可以访问其他人的头像、成绩信息等。
那么,我的问题是
- 可以将用户的敏感信息保存在public(静态)目录中吗?
- 如果没有,除了数据库,还有什么方法可以安全地保存文件吗?
- 在真实的网站中,他们将用户的敏感信息文件保存在哪里?它是否与 main.js 之类的服务器文件位于同一目录中?还是完全是另一台服务器?
Is it okay to save user's sensitive information in public(static) directory?
不,这不行。这允许任何人访问私人信息。
If not, is there any way to save file safely except database?
是的,还有其他方法。例如,您可以将用户的信息存储在该用户专用的目录中,并且只允许用户访问他们自己目录中的数据。这显然需要使用某种用户名和 credential/password 进行身份验证。您不会使用 express.static()
来访问私人信息。相反,您将为每种类型的资源创建一个路由,验证登录用户是谁,并仅提供对属于该登录用户的资源的访问。
In real websites, where they save user's sensitive information file? Is it in same directory with server files like main.js? or completely another server?
有很多方法可以实现用户特定的存储,但它不太可能与其他服务器资源(如代码文件)存储在同一目录中。用户特定的数据将存储在其他地方。