使用.htaccess安全文件

问题描述:

我在安全目录(目前由.htaccess保护,只有'站点'可以访问这些文件)中有一组文件。使用.htaccess安全文件

这些文件只能提供给网站的成员;当他们登录时,我确实在成员区域有一个连接到安全的下载脚本 - 但是,使用readfile()函数导致浏览器/操作系统上的文件出现问题。丢失行结尾,损坏的PDF文件。

所以,我认为一个更好的方法可能是只允许点击链接(在站点内)的用户访问文件 - 因此他们必须以成员身份登录。用它的URL直接转到资源将转发到403禁止页面。

我的.htaccess技能并不是最好的,但我认为这个概念与停止图像盗链类似?

任何帮助 - 并知道这是否可能 - 将不胜感激。

最好的问候,

丰富

您正在使用什么样的登录/认证的

?如果您在使用常规的HTTP认证的东西,你可以把这些指令进入的.htaccess与

Require valid-user 

这将只允许那些谁已经成功地登录访问一起。如果它是基于会话,你必须修复中介PHP脚本,因为Apache对PHP会话一无所知。它最多可以检查cookie的存在/内容,但是你会相信这个客户端不会弄乱cookie的内容。

+0

我没有使用HTTP认证,登录由PHP处理。我有一个安全的脚本来传递文件,这个问题是由于readfile()以及它的工作原理,文本文件在记事本中打开时会失去行结尾,这是不可接受的。谢谢:) – Rich 2010-09-14 08:50:45

+0

可能想检查文件的提供方式。 PHP本身不会将文件从(比如说)utf-8翻译成latin1或其他东西。但是,如果您提供了不同的字符集和/或内容标题,那么浏览器可以*地进行翻译。 – 2010-09-14 13:36:16