我需要保护文件夹。网站是用PHP完成的。有一个管理区域,包含PDF,DOC ......等文件;我无法使用会话变量保护这些文件。 PHP中有没有办法保护文件夹?
谢谢
答案 0 :(得分:4)
你不能仅使用PHP来保护它,但是在.htaccess文件的帮助下,这是可能的。
在要保护的目录中创建.htaccess文件,并将其放入其中:
Deny from all
然后,要创建用于访问文件的PHP脚本,您可以执行以下操作:
// Add user authentication code
$name = 'protected_dir/file.pdf';
$fp = fopen($name, 'rb');
header("Content-Type: application/pdf");
header("Content-Length: " . filesize($name));
fpassthru($fp);
exit;
答案 1 :(得分:1)
您可以将文件放在可查看区域(在public_html之前)和受会话保护的下载页面下载文件。
<?php
if(session_is_loggedin()){
readfile($_GET['file']);
}
?>
显然,需要进行一些额外的更改,但这是您要求的部分。