【问题标题】:File permissions on a web server?Web 服务器上的文件权限?
【发布时间】:2012-03-04 02:28:13
【问题描述】:

我是为网站编写代码的新手。该网站允许用户上传文件,例如个人资料图片或其他图片。这些文件保存在 unix 文件系统中,查找这些图像的 URL 存储在 MySQL 数据库中。

似乎我可以让用户上传文件的唯一方法是向使用 chmod 的任何人授予写入权限。否则它会抱怨它没有写权限。但是他们不应该写任何他们想要的东西或覆盖其他用户的东西。同样,为了允许用户查看他们有权访问的图像,他们需要文件系统的读取权限。但是现在这意味着任何拥有该图片网址的人也可以看到该图片,对吗?这不是我想要的。

有解决这个矛盾的办法吗?还是我错误地考虑了这个问题?感谢您的帮助。

【问题讨论】:

    标签: permissions upload web chmod


    【解决方案1】:

    您需要管理应用程序中的权限,并且不要将本地文件系统的任意部分直接暴露给客户端。您的应用程序应该决定某人可以看到哪些文件或将数据写入何处。您不应信任来自客户端的数据(文件名等)...理想情况下,使用系统生成的名称将文件存储在磁盘上,并将人类可读的名称存储在数据库中。

    【讨论】:

      【解决方案2】:

      太阳之星9,

      既然您已经使用 MySQL 数据库将图像的 URL 存储在文件系统上,为什么不将图像本身存储为 BLOB(二进制大对象)?

      这通常是一种广为接受的设计实践,允许用户将二进制数据上传到网站。

      您是否使用 PHP、Java、Ruby/Rails 或其他工具来开发您的网站?根据您使用的内容,如果您确定要使用文件系统来存储图像数据,可能会有文件上传/管理插件或模块来帮助您开发您正在尝试做的事情。

      【讨论】:

        猜你喜欢
        • 2015-02-27
        • 2011-03-19
        • 1970-01-01
        • 1970-01-01
        • 2016-06-16
        • 2011-10-22
        • 2012-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多