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;的路径