Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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 Opencart-如何将vqmod文件夹移到public_html之外?_Php_Security_Opencart_Vqmod - Fatal编程技术网

Php Opencart-如何将vqmod文件夹移到public_html之外?

Php Opencart-如何将vqmod文件夹移到public_html之外?,php,security,opencart,vqmod,Php,Security,Opencart,Vqmod,对于一些安全问题,我需要将vqmod文件夹放在public\u html之外,我应该如何做这项工作以保持vqmod正常工作?我还想将vqmod放在其他地方,这似乎需要一些努力。假设vqmod目录和public_html(其余的,如catalog、admin、index.php等)在同一个顶级目录中,您可以像这样更新配置中的定义(首先,您必须将$oc_路径指向您所在的顶级目录): config.php: define('DIR_VQMOD', $oc_path . 'vqmod/');

对于一些安全问题,我需要将
vqmod
文件夹放在
public\u html
之外,我应该如何做这项工作以保持
vqmod
正常工作?

我还想将vqmod放在其他地方,这似乎需要一些努力。假设vqmod目录和public_html(其余的,如catalog、admin、index.php等)在同一个顶级目录中,您可以像这样更新配置中的定义(首先,您必须将$oc_路径指向您所在的顶级目录): config.php:

define('DIR_VQMOD',       $oc_path . 'vqmod/');
define('DIR_APPLICATION', $oc_path . 'public_html/catalog/');
...
define('DIR_VQMOD',       $oc_path . 'vqmod/');
define('DIR_APPLICATION', $oc_path . 'public_html/admin/');
...
admin/config.php:

define('DIR_VQMOD',       $oc_path . 'vqmod/');
define('DIR_APPLICATION', $oc_path . 'public_html/catalog/');
...
define('DIR_VQMOD',       $oc_path . 'vqmod/');
define('DIR_APPLICATION', $oc_path . 'public_html/admin/');
...
然后像这样修改索引:

index.php:

require_once(DIR_VQMOD . 'vqmod.php');
require_once(DIR_VQMOD . 'vqmod.php');
admin/index.php:

require_once(DIR_VQMOD . 'vqmod.php');
require_once(DIR_VQMOD . 'vqmod.php');
然后在函数_parseMods:

替换此路径:
$fullPath=$this->\u vqmod->path($fileToMod)

通过这个:
$fullPath=$this->\u vqmod->path('public\u html/'。$fileToMod)

在功能检查中的第91行周围:

替换此路径:
$sourcePath=$this->path($sourceFile)

通过这个:
$sourcePath=$this->path('public_html/'。$sourceFile)

至少在我的OpenCart(1.5.5.1)和vqmod(2.3.2)版本中,这对我来说是没有问题的。您当然需要删除一些缓存。我已经删除了所有缓存的内容:
vqmod/vqcache/*、vqmod/mods.cache、public\u html/system/cache/*


我已经用htdocs而不是public_html测试过了。下划线对于vqmod路径有特殊的意义,所以我不确定它是否适用于它,您可能需要使用不带u的路径。

我还想将vqmod放在其他地方,似乎需要一些努力。假设vqmod目录和public_html(其余的,如catalog、admin、index.php等)在同一个顶级目录中,您可以像这样更新配置中的定义(首先,您必须将$oc_路径指向您所在的顶级目录): config.php:

define('DIR_VQMOD',       $oc_path . 'vqmod/');
define('DIR_APPLICATION', $oc_path . 'public_html/catalog/');
...
define('DIR_VQMOD',       $oc_path . 'vqmod/');
define('DIR_APPLICATION', $oc_path . 'public_html/admin/');
...
admin/config.php:

define('DIR_VQMOD',       $oc_path . 'vqmod/');
define('DIR_APPLICATION', $oc_path . 'public_html/catalog/');
...
define('DIR_VQMOD',       $oc_path . 'vqmod/');
define('DIR_APPLICATION', $oc_path . 'public_html/admin/');
...
然后像这样修改索引:

index.php:

require_once(DIR_VQMOD . 'vqmod.php');
require_once(DIR_VQMOD . 'vqmod.php');
admin/index.php:

require_once(DIR_VQMOD . 'vqmod.php');
require_once(DIR_VQMOD . 'vqmod.php');
然后在函数_parseMods:

替换此路径:
$fullPath=$this->\u vqmod->path($fileToMod)

通过这个:
$fullPath=$this->\u vqmod->path('public\u html/'。$fileToMod)

在功能检查中的第91行周围:

替换此路径:
$sourcePath=$this->path($sourceFile)

通过这个:
$sourcePath=$this->path('public_html/'。$sourceFile)

至少在我的OpenCart(1.5.5.1)和vqmod(2.3.2)版本中,这对我来说是没有问题的。您当然需要删除一些缓存。我已经删除了所有缓存的内容:
vqmod/vqcache/*、vqmod/mods.cache、public\u html/system/cache/*

我已经用htdocs而不是public_html测试过了。下划线对于vqmod路径有特殊的意义,所以我不确定它是否适用于它,您可能需要使用不带3;的路径