2012-12-03 161 views
0

我创建.htaccess文件 Linux服务器上,并把这段代码在它:如何只允许登录的用户访问文件夹中

Order Deny,Allow 
Deny from all 

这里是我的PHP代码这在我的Windows机器与WAMP的服务器上它做工精细:

$path = $data['path']; // complete path to file 

if (is_user_logged_in()) { 
    //return $path; 
    if (file_exists($path)) { 
     header('Cache-Control: public'); 
     header('Content-Description: File Transfer'); 
     header('Content-Type: application/pdf'); 
     header('Content-Transfer-Encoding: binary'); 
     readfile($path); 
    } 
} else { 
    return 'Welcome, visitor!'; 
} 

但是当我在服务器上运行它,它并没有在所有的工作。有一个锁定的文件夹,我在其中放置了.htaccess文件。并且在锁定的文件夹下有许多子文件夹,我想限制只有登录用户才能访问。

+0

什么是错误日志 –

+0

它无法打开文件(pdf文件)。但是当我删除.htaccess文件时,它没有任何问题打开 – atif

+0

什么是锁定和解锁,这里指的是什么? – saji89

回答

1

您的.htaccess文件是一种(缓慢)的方式来阻止任何人请求您的文件。它不关心用户是否登录。

我会采取的方法是

一)将要在访问给记录到了根的文件。这样,没有人可以直接请求路径 - 他们必须使用您的PHP文件才能访问。

b)在您的php文件中,测试您的用户是否已登录。如果不是,请根据需要提供登录屏幕或错误消息。

c)当他们登录后,读取要显示的文件并回显内容(或读取数据并构建回复页)。

相关问题