保持Web服务器上的文件安全的最佳方法

问题描述 投票:-1回答:2

上下文:我在linux web服务器上有一些文件,例如create_db.txt。他们在我的PHP脚本中使用,但现在每个人都可以通过直接链接观看它们

http://url/create_db.txt

什么是拒绝访问这些文件的正确方法,仍然有机会从PHP脚本中调用和读取它们的信息。谢谢。

linux security nginx webserver
2个回答
1
投票

如果您使用的是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之外的目录中。当然,网络服务器必须能够访问此文件夹。这可以通过在文件夹上设置正确的权限来完成,也可以通过将所有者更改为Web服务器的权限来完成。像这样的东西:

mkdir -m 755 -p /path/outside/webroot
mv create_db.txt /path/outside/webroot
chown -R <user>:<group> /path/outside/webroot

0
投票

最好的方法是永远不要将不应该访问的文件放入Web根目录中的文件中。把它们放在外面的文件夹中。如果无法做到这一点,请将它们放在特定的文件夹中,并通过.htaccess或您的网络服务器接受的任何内容拒绝访问

© www.soinside.com 2019 - 2024. All rights reserved.