![我必须在哪里移动文件才能使其无法通过我的网络服务器访问?](https://linux22.com/image/86885/%E6%88%91%E5%BF%85%E9%A1%BB%E5%9C%A8%E5%93%AA%E9%87%8C%E7%A7%BB%E5%8A%A8%E6%96%87%E4%BB%B6%E6%89%8D%E8%83%BD%E4%BD%BF%E5%85%B6%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%E6%88%91%E7%9A%84%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%AE%BF%E9%97%AE%EF%BC%9F%20.png)
我有一个连接 php 文件,上面有我的数据库密码。它位于我网站上的 PayPal 商店的包含目录中。试图找出可以将该文件夹和文件移动到哪里以便没有人可以看到它?
<?php
include('var/includes/connection.php');
或者
include('../../../includes/connection.php');
我的文件位于 /var/www/html/foo/foo/includes/connection.php
答案1
您调用的 root 是您的 http 服务器提供的文件的根目录,通常用作标准/var/www
,但这可以根据您的配置进行更改。
是向您的服务器发出的请求可访问的第一个目录,因此您有:http://www.yoursite.com它将被引用/var/www
如果您将文件移动到不在该路径内的目录中,则将无法访问,但这并不意味着您必须递归 /var 路径,您也可以将文件放入其中,/home/myusername/connection.php
就像示例一样。
使用正常配置的网络服务器,远程攻击者不可能获取存储在该文件中的变量,因为 php 文件已被处理,但是假设由于配置错误的 http 服务器配置,php 不会被执行,它将作为纯文本显示您的数据。
因此,为什么建议将文件移到可浏览的文件夹范围之外,并通过从 php 包含它来访问它,例如
<?php
include('/home/user/myconfig/connection.php');
我会选择一个更有组织的位置。