网站推广-网站优化-合肥久飞SEO论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7282|回复: 0

修改ecshop后台admin目录为任意目录名

[复制链接]
发表于 2009-10-12 16:09:07 | 显示全部楼层 |阅读模式
ecshop有个地方配置admin的目录名
data/config.php

$admin_dir = “admin”;
但是直接改不行,因为很多地方,这个目录名字被硬编码进去了,直接改会有很多地方报错。

网上搜到一篇文章,整理了一些需要修改的地方,内容转帖如下:

1.修改data/config.php
   1. $admin_dir = "admin";
修改成
   1. $admin_dir = "新目录名";
2.修改admin/index.php
   1. //货号
   2. require_once(ROOT_PATH . 'admin/includes/lib_goods.php');
修改成
   1. require_once(ROOT_PATH . $admin_dir.'/includes/lib_goods.php');
3.修改admin/database.php
   1. require_once(ROOT_PATH . 'admin/includes/cls_sql_dump.php');
修改成
   1. require_once(ROOT_PATH . $admin_dir.'/includes/cls_sql_dump.php');
4.修改admin/get_password.php
   1. $reset_email = $ecs->url() . 'admin/get_password.php?act=reset_pwd&uid='.$admin_id.'&code='.$code;
   2. 修改成
   3. $reset_email = $ecs->url() . $admin_dir.'/get_password.php?act=reset_pwd&uid='.$admin_id.'&code='.$code;
5.修改admin/goods.php
   1. require_once(ROOT_PATH . '/admin/includes/lib_goods.php');
   2. 修改成
   3. require_once(ROOT_PATH . $admin_dir.'/includes/lib_goods.php');
6.修改admin/check_file_priv.php
   1. $dir[] = 'admin';
   2. 修改成
   3. $dir[] = $admin_dir;
7.修改admin/includes/init.php
   1. if (file_exists(ROOT_PATH . 'data/config.php'))
   2. {
   3. include(ROOT_PATH . 'data/config.php');
   4. }
   5. else
   6. {
   7. include(ROOT_PATH . 'includes/config.php');
   8. }
   9. 修改成下面代码,并将代码移至“/* 取得当前ecshop所在的根目录 */”注释之前。
10. if (file_exists('../data/config.php'))
11. {
12. include('../data/config.php');
13. }
14. else
15. {
16. include('../includes/config.php');
17. }
   1. define('ROOT_PATH', str_replace('admin/includes/init.php', '', str_replace('\\', '/', __FILE__)));
   2. 修改成
   3. define('ROOT_PATH', str_replace($admin_dir.'/includes/init.php', '', str_replace('\\', '/', __FILE__)));
 
   1. require(ROOT_PATH . 'admin/includes/lib_main.php');
   2. 修改成
   3. require(ROOT_PATH . $admin_dir.'/includes/lib_main.php');
   1. require(ROOT_PATH . 'admin/includes/cls_exchange.php');
   2. 修改成
   3. require(ROOT_PATH . $admin_dir.'/includes/cls_exchange.php');
   1. $smarty->template_dir = ROOT_PATH . 'admin/templates';
   2. 修改成
   3. $smarty->template_dir = ROOT_PATH . $admin_dir.'/templates';
 
   1. $admin_path = preg_replace('/:\d+/', '', $ecs->url()) . 'admin';
   2. 修改成
   3. $admin_path = preg_replace('/:\d+/', '', $ecs->url()) . $admin_dir;
8.修改include/lib_main.php
   1. include_once(ROOT_PATH . 'admin/includes/lib_template.php');
修改成
   1.
   2. global $admin_dir;
   3. include_once(ROOT_PATH . $admin_dir.'/includes/lib_template.php');
9.修改include/cls_ecshop.php
   1. $curr = strpos(PHP_SELF, 'admin/') !== false ?
   2. preg_replace('/(.*)(admin)(\/?)(.)*/i', '\1', dirname(PHP_SELF)) :
   3. dirname(PHP_SELF);
修改成
   1. global $admin_dir;
   2. $curr = strpos(PHP_SELF, $admin_dir.'/') !== false ?
   3. preg_replace('/(.*)('.$admin_dir.')(\/?)(.)*/i', '\1', dirname(PHP_SELF)) :
   4. dirname(PHP_SELF);
10.如果担心$admin_dir变量注入安全问题可以在data/config.php文件中define('EC_CHARSET','utf-8');后增加
   1. define('ADMIN_DIR','新目录名');
然后将所有修改的$admin_dir变量修改成ADMIN_DIR,例如:
   1. require_once(ROOT_PATH . $admin_dir.'/includes/lib_goods.php');
   2. 修改成
   3. require_once(ROOT_PATH . ADMIN_DIR.'/includes/lib_goods.php');
11.根据pjb126 网友提示修改/admin/picture_batch.php

   1. include_once(ROOT_PATH . '/admin/includes/lib_goods.php');
   2. 修改成
   3. include_once(ROOT_PATH .$admin_dir.'/includes/lib_goods.php');
12.新增修改quotation.php
   1. include_once(ROOT_PATH . 'admin/includes/lib_main.php');
修改成
   1.
   2. global $admin_dir;
   3. include_once(ROOT_PATH . $admin_dir.'/includes/lib_main.php');

但是,我改过这些之后,还发现可能还有三个文件需要修改

admin/filecheck.php:
api/client/includes/lib_api.php
ecshopfiles.md5

本文地址: https://jiufei.net/bbs/thread-1441-1-1.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|合肥网站优化,合肥百度优化,合肥网络推广,合肥SEO优化论坛 ( 皖ICP备2022014487号-2 )

GMT+8, 2025-1-31 11:26 , Processed in 0.079401 second(s), 17 queries , File On.

Powered by jiufei X3.4

© 2008-2020 www.jiufei.net

快速回复 返回顶部 返回列表