繁体   English   中英

如何限制对文件的访问,以便只有所有者可以访问?

[英]How to restrict access to file so only owner can access?

我正在寻找与以下问题类似的答案: 保护用户文件被访问,以便只有所有者可以访问?

我正在用php编写一个Web应用程序,用户可以在其中上传自己的文件或图像,但是如何保护这些文件不被所有者以外的其他人访问。

并且可以接受此问题的解决方案,因此,我将通过特殊脚本“代理”请求文件,该脚本将检查是否允许用户使用此文件。

但是我想这样做而不查询数据库。 因此,我想,应该可以通过位置或名称来检测用户是否有权访问文件。

由于特定的位置,我无法将所有用户文件放入名称中带有用户ID的文件夹中,因此我考虑了文件名, 其中部分名称将包含用户ID 因此文件名可以像这样:

1 _pic.jpg, 2 _pic.png, 1 _pic.gif等,其中名称开头的数字=用户ID

然后,我将能够轻松解析文件名,并将那里的用户ID与会话中的用户ID进行比较,并以此方式检查用户是否是文件的所有者。

您如何看待这种方法,它有什么缺点?

提前致谢!

只要您只需要检查尝试访问文件的用户是否是最初上传文件的用户,就可以了。 确保目录不是通过文档根目录访问,因此文件仍然在情况下,你的脚本或.htaccess文件失败安全。 另外,请确保文件名不会因不同用户而冲突。

我无法想象该功能会给数据库增加这么多的负载。 但是,如果这是一个问题,请创建一个确实可以访问数据库的安全登录系统。 每个会话只需要执行一次,因此服务器负载不大。 用户登录后,请在会话变量中设置一个值,此值从那时起便可以使用,它告诉脚本用户可以访问文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM