在一个PHP应用程序中,我允许用户上传照片。用户上传后,元数据存储在数据库中,然后映像存储在linux服务器的某个目录中。我只希望这些图像在通过视图调用时是可见的,这样我就可以验证正确的一方正在查看它们。我不希望任何人能够只是输入一个url和查看图像。
/site
/framework
/protected /**My PHP site**/
/www
/images /**This is where I am currently storing the images**/
- 为了限制查看这些图像,我需要将
images
目录移到www
之外吗?如果有,去哪里? -
images
目录应该有哪些linux权限? - 对于我存储在我的数据库中,我想要限制访问的图像,我在我的框架内使用访问规则。这样的规则是否也会限制对给定目录中的图像的访问?
任何可以提供的关于如何处理这个问题的信息(这样我就可以做进一步的研究)以及上述问题的答案将非常有帮助。
对于该目录中的所有图像都被拒绝(它们都必须通过脚本访问,并且它们都没有直接访问可用-即只有您的服务器能够访问它们,并且您有apache与mod_rewrite
),您可以将.htaccess
放在该目录中,如下所示:
deny from all
用数字来回答问题…^ ^
- 不,
- 你需要读取(
+r
)为服务器的图像。 框架可能有类似的东西,但它不能阻止直接链接,如果图像的URL是已知的。使用
.htaccess
会以同样的效果处理它。.htaccess
或移动目录是最好的选择。为了限制查看这些图像,我需要将图像目录移出www吗?
不,但这是最安全的选择。
的任何地方If so to where?
应该给映像目录什么样的linux权限?
服务器读取和写入它所需的最小值。可能700。
对于我存储在我的数据库中,我希望限制访问的图像,我在我的框架内使用访问规则。这样的规则是否也会限制对给定目录中的图像的访问?
由于图像只能通过PHP获得,PHP可以添加任何您喜欢的auth/authz。
您可以简单地使用.htaccess
文件并限制人们进入该目录,以及关闭目录列表,以防万一。