我有一个连接 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');
我会选择一个更有组织的位置。