用微擎系统域名被hold(防封解决方案)

鉴于有些客户由于某些原因,无法立即升级微擎系统。为此提供自行更改代码的方案:

以下操作方法需操作人有代码经验,无代码经验人士最好选择到 站点控制台 进行在线升级

自行更改代码说明:
1.修改/web/index.php,在该文件中找到如下代码:

require __DIR__ . '/../framework/bootstrap.inc.php';
require IA_ROOT . '/web/common/bootstrap.sys.inc.php';

在该代码块下面添加以下代码:

if (!empty($_W['setting']['copyright']['login_route']) && $_W['setting']['copyright']['login_route'] == $_GPC['c']) {
	$controller = 'user';
	$action = 'login';
}

2.修改/web/source/user/login.ctrl.php,找到37行(站点版本不同的话代码位置可能有差池)的代码片段:

template('user/login-' . $login_template);

替换为

if (empty($_W['setting']['copyright']['login_route']) || $_GPC['c'] == $_W['setting']['copyright']['login_route']) {
	template('user/login-' . $login_template);
} else {
	header('HTTP/1.1 404 Not Found');
	header("status: 404 Not Found");
	exit;
}

3.修改/web/source/system/site.ctrl.php,找到62行的switch代码片段,插入如下代码:

case 'login_route':
  if (!empty($_GPC['value'])) {
    $login_route = safe_gpc_string($_GPC['value']);
    if (empty($login_route)) {
      iajax(-1, '自定义路由值只支持字母和数字');
    }
  } else {
    $login_route = '';
  }
  $settings['login_route'] = $login_route;
  break;

4.修改/framework/model/system.mod.php,找到system_setting_items()函数,将该函数替换为如下代码:

function system_setting_items() {
	return array(
		'bind',
		'icp',
		'policeicp',
		'login_type',
		'log_status',
		'mobile_status',
		'reason',
		'autosignout',
		'status',
		'welcome_link',
		'login_verify_status',
		'address',
		'blogo',
		'baidumap',
		'background_img',
		'company',
		'companyprofile',
		'description',
		'email',
		'footerleft',
		'footerright',
		'flogo',
		'icon',
		'keywords',
		'leftmenufixed',
		'notice',
		'oauth_bind',
		'phone',
		'person',
		'qq',
		'statcode',
		'slides',
		'showhomepage',
		'sitename',
		'template',
		'login_template',
		'url',
		'verifycode',
		'slide_logo',
		'console_status',
		'login_route',
	);
}

5.修改/web/themes/default/account/welcome.html,找到16行的代码:

<a href="{url 'user/login'}" class="btn btn-primary btn-lg"><i class="fa fa-user"></i> 立即登录</a>

替换为:

{if !empty($_W['setting']['copyright']['login_route'])}
<a href="{php echo url($_W['setting']['copyright']['login_route'])}" class="btn btn-primary btn-lg"><i class="fa fa-user"></i> 立即登录</a>
{else}
<a href="{url 'user/login'}" class="btn btn-primary btn-lg"><i class="fa fa-user"></i> 立即登录</a>
{/if}

6.(1)如果已经进不去微擎站点控制台,可以在您服务器微擎项目根目录下新建一个PHP文件(文件名自己定,比如qwe.php),文件代码如下:

<?php
require __DIR__ . '/framework/bootstrap.inc.php';
$settings = $_W['setting']['copyright'];
$if_safe = rule_alpha_num($_GPC['login_route']);
if (empty($if_safe)) {
    exit('自定义登录路由参数只支持数字和字母');
}
$login_route = $_GPC['login_route'];
$settings['login_route'] = $login_route;
$result = setting_save($settings, 'copyright');
if ($result) {
    echo '设置成功,请及时删除该文件!安全登录地址:您可以访问' . $_W['siteroot'] . 'web/index.php?c=' . $login_route . '来进行登录操作。';
}

function rule_alpha_num($value) {
	return is_scalar($value) && 1 === preg_match('/^[A-Za-z0-9]+$/', (string)$value);
}

然后访问 https://yuming.com/qwe.php?login_route=xxxx

用微擎系统域名被hold(防封解决方案)

(2)如果可以进到 微擎站点控制台->站点设置->基本信息,则修改“自定义登录路由”选项,效果如下:

用微擎系统域名被hold(防封解决方案)

设置自定义登录路由后,默认的登录页面无法访问,若想登录需要访问自定义的登录路由。

注意!以上设置请在域名解封后设置!

秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(1)

大家都在看

品牌推广 在线咨询
返回顶部