Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将配置置于安全位置,无法链接文件_Php_Html_Ajax - Fatal编程技术网

Php 将配置置于安全位置,无法链接文件

Php 将配置置于安全位置,无法链接文件,php,html,ajax,Php,Html,Ajax,我正在尝试为数据库和分级脚本使用配置文件,但问题是配置文件位于以下目录中: website.com/include/config.php aka websitename/include/config.php 评级脚本需要配置,访问方式如下: 包括_once(“config.php”) 我希望配置位于: “/files/website/” 从网站根文件夹向上的目录级别 我一直在尝试: “./文件/网站/”和其他变体,但无法确定如何链接它们 我已经设法放置了一个配置文件并访问了它,

我正在尝试为数据库和分级脚本使用配置文件,但问题是配置文件位于以下目录中:

       website.com/include/config.php  aka websitename/include/config.php
评级脚本需要配置,访问方式如下: 包括_once(“config.php”)

我希望配置位于: “/files/website/” 从网站根文件夹向上的目录级别

我一直在尝试:
“./文件/网站/”和其他变体,但无法确定如何链接它们

我已经设法放置了一个配置文件并访问了它,但是使用这个ajax分级脚本,它工作的唯一方法是将配置文件放在下面的/include/文件夹中: rating_process.php-有以下链接:include(“inc/config.php”)

希望我已经在这里解释过了

好的,现在看看我的主机: $\u服务器['DOCUMENT\u ROOT'];输出此项:/foldy/homepages/11/username/htdocs/webbysite

我的索引文件位于:/foldy/homepages/11/username/htdocs/webbysite/index.php 包含的评级脚本位于:/foldy/homepages/11/username/htdocs/webbysite/include中/

我希望配置文件位于/foldy/homepages/11/username/htdocs/secretfiles/config.php中

我正在尝试一些如何走出:webbysite文件夹,然后进入secretfile(兄弟文件夹)

我试着添加../等等,但我显然遗漏了一些东西:(

试试看

$configLocation = $_SERVER['DOCUMENT_ROOT'].'../files/website/config.php';
include_once($configLocation)
但是问题是配置文件在这个目录中

这根本不是问题。
保持原样

关于您的特定问题,您的问题是您不知道要将文件放在哪里。
/files/website/
可能不是正确的路径,而且显然与webroot的级别不高


因此,首先要确定目录的正确路径以及它与web根目录的相对位置

如果您担心安全性(因为您的配置文件包含db详细信息),我会将db配置文件放在站点根文件夹之外,然后
require_一次('../../dbConfig.php')
来自为ajax创建xml或json的脚本

更确切地说。。。 您的站点文件夹可能位于此处:
/var/www/html

设置一个虚拟主机(在Linux和Windows上的方式不同),并将您的域指向
/html
中的子文件夹,以便站点根目录的新路径为
/var/www/html/site

然后将配置文件放在
/var/www/html
中,并使用
require_一次性('../dbConfig.php
)从
/site
文件夹中的脚本调用它


您的数据库详细信息不在网站文件夹中

您是否担心安全问题?是否将数据库的设置放在用户可以通过web访问的目录中?是的,安全性是一个问题,不是很大,但在某种程度上。如果您尝试过.././secretfiles/config.php,但仍然不走运,那么我猜您需要根据进行更改ajax正在调用的文件、.././secretfiles/config.php脚本,甚至可能是包含这些文件的目录上的任务谢谢,尝试过了,但只是将字符串添加到文档根目录,实际上并没有返回到一个级别“.”表示父目录,如果将其放入include字符串中,它将向上移动一个目录。“..”是Unix/Linux操作系统的一部分,始终可用。我发布的代码查找“文件”目录位于当前文档根目录之上一级。第一部分是我需要的。要连接并显示我的信息,我使用的是:require_once(“../configfiles/config.php”);加载正常,但ajax评级脚本也尝试连接到a配置以连接到db以插入投票,该部分位于:/website/include/这是中断的部分。不确定现在从何处开始,脚本有3个php文件和一个js文件。混乱为狗屎现在
。/../secretfiles/config.php
应该让您获得如果您仍然有问题,我猜这是一个权限问题,您需要对ajax调用的脚本进行chmod
$configLocation = $_SERVER['DOCUMENT_ROOT'].'../files/website/config.php';
include_once($configLocation)