我正在使用Restlet作为后端尝试创build一个小的Web应用程序。
我允许用户上传他们的个人资料图片,但不知道在哪里存储他们。 谷歌告诉我把它存储在文件系统是有道理的。
那么我应该将它们存储在Web前端所在的公共Web文件夹中吗? 但是,这不会让人们很容易地访问所有的个人资料图像吗?
如果我不把图像存储在公共网站目录中,我应该在哪里存储它们,我该如何保护它们?
我的服务器是Ubuntu服务器12.04预先感谢
您当然可以将它们存储在公用文件夹内的子文件夹中,并禁用文件夹浏览。 然后只在您的应用程序中暴露图像。
您可以将文件存储在文档根目录之外,并使用相对path将其包含在后端。 通常情况下,Web服务器将拒绝访问docroot的父目录,但后端服务将能够访问它们。
即如果你使用:
DocRoot = /var/www Images = /var/profile-pics
这不会工作:
http://www.yourdomain.com/../profile-pics/David.JPG
这将工作:
<?php include('../profile-pics/David.JPG'); ?>
注意:PHP用作示例,当然,您不能以这种方式包含jpeg。 仅用于将敏感文件保留在文档根目录之外的示例。