上下文:我在 Linux Web 服务器上有一些文件,例如 create_db.txt。它们在我的 php 脚本中使用,但现在每个人都可以通过直接链接观看它们
http://url/create_db.txt
拒绝访问此文件并且仍然有机会从 php 脚本编写和读取其中的信息的正确方法是什么?谢谢。
最佳答案
如果您使用的是 Apache
,您可以通过在 Web 根目录中添加 .htaccess
文件来限制对特定文件的访问:
<Files create_db.txt>
Order allow, deny
Deny from all
</ Files>
Files
上面的部分将限制所有用户对 create_db.txt
文件的访问。
运行 nginx
可以通过在配置中添加以下内容来实现相同的效果:
location ^~ /create_db.txt {
deny all;
}
就像其他答案中所述,您确实应该考虑将文件移动到 webroot 之外的目录。当然,网络服务器必须能够访问该文件夹。这可以通过在文件夹上设置正确的权限以及将所有者更改为网络服务器的所有者来完成。像这样的事情:
mkdir -m 755 -p /path/outside/webroot
mv create_db.txt /path/outside/webroot
chown -R <user>:<group> /path/outside/webroot
关于linux - 确保网络服务器上文件安全的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47960831/