如何防止直接访问文件?

时间:2012-01-20 03:58:34

标签: php

我有一个用户上传图像文件的系统。我只希望特定用户能够访问这些文件而不是任何人只需访问example.php / image.jpg并查看任何用户的图像...谢谢

4 个答案:

答案 0 :(得分:4)

只需将它们上传到您的Web根目录之外的目录,然后使用php脚本获取它们,并在用户满足正确要求时将其显示给用户。

答案 1 :(得分:1)

您可以为每个用户创建目录。例如,如果用户名是Jhon,则可以创建目录images / jhon /,然后使用PHP限制对另一个用户目录的访问

答案 2 :(得分:0)

将其放在一个单独的目录中,并在该目录中创建一个名为.htaccess的文件,其中包含以下内容:

deny from all

这将做你想要的。

答案 3 :(得分:0)

您可以将以下内容添加到.htaccess文件中,然后将该文件拖放到存储图像的目录中:

防止目录浏览:

Options All -Indexes

防止图片热链接:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|js|css)$ - [F]

将mydomain.com替换为您自己的域名。