我的服务器上有一个目录,我希望普通大众无权访问。 (没什么。无法访问php文件,图像,任何东西。)
但我想允许某些用户根据我的php中的布尔值访问此受限区域。
有没有办法使用PHP来确定用户是否可以访问目录,类似于使用htaccess文件但具有更多自定义逻辑?
答案 0 :(得分:0)
最简单的方法之一是将受限用户重定向到您的主页。
<?php
header( 'Location: http://www.yoursite.com' ) ;
exit;
?>
您可以通过在数据库中设置布尔值来允许访问特定用户。
以下解决方案将根据您的文件存储位置运行。
$file = '/file.png'; // set your file location
$userAccess = false;
if (file_exists($file) && $userAccess) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=your_file.png');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
}
同时检查link。
希望它会对你有所帮助:)。
答案 1 :(得分:0)
所以我终于在其他地方找到了答案,它涉及将PHP文件设置为与htaccess一起使用的一种代理 - http://simpletek.raivo.id.lv/restrict-server-files-access-based-on-php-logic/