镜像安全和linux文件/目录权限


Image security and linux file/directory permissions

在一个PHP应用程序中,我允许用户上传照片。用户上传后,元数据存储在数据库中,然后映像存储在linux服务器的某个目录中。我只希望这些图像在通过视图调用时是可见的,这样我就可以验证正确的一方正在查看它们。我不希望任何人能够只是输入一个url和查看图像。

/site
   /framework
   /protected  /**My PHP site**/
   /www
      /images  /**This is where I am currently storing the images**/
  1. 为了限制查看这些图像,我需要将images目录移到www之外吗?如果有,去哪里?
  2. images目录应该有哪些linux权限?
  3. 对于我存储在我的数据库中,我想要限制访问的图像,我在我的框架内使用访问规则。这样的规则是否也会限制对给定目录中的图像的访问?

任何可以提供的关于如何处理这个问题的信息(这样我就可以做进一步的研究)以及上述问题的答案将非常有帮助。

对于该目录中的所有图像都被拒绝(它们都必须通过脚本访问,并且它们都没有直接访问可用-即只有您的服务器能够访问它们,并且您有apache与mod_rewrite),您可以将.htaccess放在该目录中,如下所示:

deny from all

用数字来回答问题…^ ^

    不,.htaccess会以同样的效果处理它。
  1. 你需要读取(+r)为服务器的图像。
  2. 框架可能有类似的东西,但它不能阻止直接链接,如果图像的URL是已知的。使用.htaccess或移动目录是最好的选择。

为了限制查看这些图像,我需要将图像目录移出www吗?

不,但这是最安全的选择。

If so to where?

的任何地方

应该给映像目录什么样的linux权限?

服务器读取和写入它所需的最小值。可能700。

对于我存储在我的数据库中,我希望限制访问的图像,我在我的框架内使用访问规则。这样的规则是否也会限制对给定目录中的图像的访问?

由于图像只能通过PHP获得,PHP可以添加任何您喜欢的auth/authz。

您可以简单地使用.htaccess文件并限制人们进入该目录,以及关闭目录列表,以防万一。