2010-12-03 56 views
4

这里的URL http://www.website.com/uploads/pvtimages/image.png有什么办法来防止引火显示

我不想让图像显示,以阻止任何人的形象,甚至不是我,但可以下载

我... e <a href="http://www.website.com/uploads/pvtimages/image.png">Download</a> i..e仅限于特定页面(download.php)

我希望该文件夹中的所有图像都受到保护。

有没有可能?使用PHP或.htaccess或两者?

回答

1

我似乎最近回答这个问题很多......看,如果你不想要的东西通过URL访问,你不需要使用.htaccess或PHP。只是不要把它放在文档根目录中。

请参阅my answer here,它解释了您应该使用的结构。然后您可以使用PHP下载它;我的answer here解释了如何使用PHP下载文件。以这种方式做事更容易维护,更容易实施,更安全。

请注意,这不仅适用于图像等,也适用于您的PHP库和其他任何。通常,我在文档根目录中有一个PHP文件(例如index.php),一些CSS,JS和一些图像。其他一切应该通常在别的地方。

2

是,把下面的头在你的.htaccess文件:

<Files image.png> 
Header set Content-Disposition attachment 
</Files> 

当然,你也可以通过PHP发送这个头,但htacesss更有道理在这种情况下。但是,它只会阻止它在浏览器中显示。 每个人都可以下载它知道链接! 除非您在网站上添加密码保护等功能,否则您无法真正保护图像。

虽然你可以通过referer检查防止一些盗链 - 但这只是为了阻止愚蠢的网站管理员嵌入你的图片..它不会阻止任何人真的想要你的东西。但如果这对你很好..看看Allow/deny image hotlinking with .htaccess

+0

请参阅我的回答,了解如何正确保护内容以便它们无法下载,因为*有*没有有效的资源链接。 – 2010-12-03 01:41:20

+0

太好了,如何阻止该文件夹中的所有图像被查看? – 2010-12-03 01:41:30

0

将此添加到您的.htaccess

RewriteEngine On 

RewriteRule ^(?:uploads/pvtimages)\b - [F,L] 

或者当然可以将它从文档根目录中取出。

这意味着您将需要通过PHP提供图像。只需readfile()并发送正确的标题。

相关问题