2011-05-18 50 views
0

在我的网站,我想限制查看某些文件被存储在一个名为“/内容”目录,只有在用户可以查看文件限制对目录中的文件浏览器访问

登录,因为它代表现在人谁类型xxxxxxx.com/content/4dc32b1c0a630.png到浏览器中可以看到这个图像文件

我添加选项-Indexes到我的.htaccess文件,但如果它是没有做任何事情

是有帮助的我的网站是使用codeigniter构建的,所以PHP解决方案将非常棒,尽管我会采取任何建议您可能有!

谢谢你, 添

回答

2

你可以为此写一个控制器。

在我的一个项目中,我只为登录用户完成了一个调整大小的图片控制器。它基于timthumb脚本http://code.google.com/p/timthumb/

在控制器__contruct();编写用户认证代码,这就是全部!

所以,你将通过控制器调用这些文件,如http://www.site.com/images/1314.png

+0

感谢,您可以进一步解释如何在构造函数“写入用户认证”? – 2011-07-08 03:04:45

1

使用mod_rewrite重写任何访问中/content任何一个PHP脚本,将直接或通过mod_xsendfile权威性的用户,然后提供文件。

0

把这几行根.htacess文件来阻止访问content/4dc32b1c0a630.png为未认证用户:

Options +FollowSymlinks -MultiViews 
RewriteEngine on 

RewriteCond %{LA-U:REMOTE_USER} ^$ 
RewriteRule ^content/4dc32b1c0a630\.png/?$ - [R=403,L] 

不过,我会建议你使用通配符(如果可能的话),以阻止的文件匹配上面,而不是每个上市和每个单独的文件。