小编dot*_*dot的帖子

在cakephp 2.0中保护图像/视频文件夹

我们目前正在使用webroot中的文件夹来存储我们正在视图中加载的图像和视频(使用通常的html图像帮助程序),这些图像和视频需要登录.

如何防止外部访问者只是使用site.com/img/photos/1.jpg网址并访问图像?根据我的理解,我无法真正使用媒体视图在正确的视图中呈现图像,我无法弄清楚是否有通过htaccess操作的解决方案.

这是最好的做法?也许选择使用非webroot文件夹是最好的(虽然这会使文件存储部分更难)?

正如poncha建议的那样,我尝试将主.htaccess文件编辑成这个

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{HTTP_REFERER} !localhost
   RewriteCond %{REQUEST_URI} ^app/webroot/img/
   RewriteRule .* / [L,F]
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L] 
</IfModule>
Run Code Online (Sandbox Code Playgroud)

但重写基线似乎禁止访问整个网站,没有它,img访问似乎没有变化.

编辑2:编辑webroot中的htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]

# this RewriteCond is needed to avoid rewrite loops
RewriteCond %{REQUEST_URI} !^/app/webroot/
RewriteRule (.*) app/webroot/$1 [L,R]


RewriteCond %{HTTP_REFERER} !127.0.0.1
RewriteCond %{REQUEST_URI} ^/app/webroot/img/
RewriteRule .* - [L,F]

</IfModule>
Run Code Online (Sandbox Code Playgroud)

.htaccess image hotlinking cakephp-2.0

5
推荐指数
1
解决办法
1833
查看次数

标签 统计

.htaccess ×1

cakephp-2.0 ×1

hotlinking ×1

image ×1