我正在寻找与此类似的问题的答案:保护用户的文件被访问,以便只有所有者可以访问?
我正在用 php 编写一个 Web 应用程序,用户可以在其中上传自己的文件或图像,但我怎样才能保护这些文件不被所有者以外的其他人访问。
并且这个问题被接受的解决方案是好的,所以我将通过一个特殊的脚本“代理”文件请求,该脚本将检查是否允许用户使用这个文件。
但我想在不查询数据库的情况下做到这一点。所以,我想,应该可以通过文件的位置或名称来检测用户是否可以访问文件。
由于特定位置,我无法将所有用户文件放入名称中包含用户 ID 的文件夹中,所以我考虑文件名,其中部分名称将包含用户 ID。所以文件名可以是这样的:
1 _pic.jpg、2 _pic.png、1 _pic.gif 等,其中名称开头的数字 = 用户 ID
然后我将能够轻松地解析文件名,并将那里的用户 ID 与会话中的用户 ID 进行比较,并以这种方式检查用户是否是文件的所有者。
您如何看待这种方法,它有什么缺点?
提前致谢!