我想让我服务器上的一个文件可被 PHP 读取,但不能直接通过浏览器访问。假设我的 Apache 安装的根目录是 /apache。我希望 PHP 能够获取 的文本/apache/1.txt
,但不允许用户访问domain.tld/1.txt
并查看内容。我仍然希望能够在没有 root 权限的情况下通过 FTP/SFTP 读取/写入文件。
这个正确的字符串是什么chmod
?642 似乎有可能,但我不确定 PHP 如何访问该文件。
答案1
使用或配置将所有请求重定向/1.txt
到其他位置。因此,如果有人尝试访问,它将重定向。.htaccess
apache
domain.tld/1.txt
编辑
例子:
suku@ubuntu-vm:/var/www/html$ grep info.php /etc/apache2/sites-available/default
RedirectMatch ^/info.php /html/index.html
suku@ubuntu-vm:/var/www/html$ sudo cat ../info.php
<?php
phpinfo();
?>
suku@ubuntu-vm:/var/www/html$ cat index.html
You redirected to here becuase you tried to access localhost/info.php
suku@ubuntu-vm:/var/www/html$ pwd
/var/www/html
suku@ubuntu-vm:/var/www/html$ links http://localhost/info.php -dump
You redirected to here becuase you tried to access localhost/info.php
suku@ubuntu-vm:/var/www/html$ cd ..
suku@ubuntu-vm:/var/www$ ls -l info.php
-rw-r----- 1 www-data www-data 20 Jan 12 11:25 info.php