V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
summersun2021
V2EX  ›  程序员

境外迁移回国内云, discuz 搭建论坛问题

  •  
  •   summersun2021 · 2022-05-18 10:01:45 +08:00 · 1860 次点击
    这是一个创建于 681 天前的主题,其中的信息可能已经有所发展或是发生改变。
    使用 discuz 程序搭建论坛多年,前年从境外空间迁移回国内云,迁移后正常使用半年多,随后遭到不明攻击,经查询,首页程序页面头部代码出现过一些第三方网址,含有 seo 标识,论坛一度不能访问,虽然现在恢复访问了,但出现了前后台乱码(例子:鑷姩鐧诲綍 鎵惧洖瀵嗙爜 瀵嗙爜 鐧诲綍 ),大概了解了下是数据库和程序的编码对不上,楼主是小白,只会修改基础的 html 和简单 sql 语句执行,为什么一开始没问题,难道是篡改数据库吗?

    云主机查询所得:discuz3.4 程序编码是 gbk ,sql 数据库编码是 utf8 ,
    寻求修复乱码解决方法,付费也行,谢谢了。
    14 条回复    2022-05-19 11:27:30 +08:00
    lcy630409
        1
    lcy630409  
       2022-05-18 10:05:04 +08:00
    被黑产入侵了,一般是给一段 js 跳转到他们的网站上...
    要好好检查一下漏洞了

    编码对不对,网址发出来看一下
    keepeye
        2
    keepeye  
       2022-05-18 10:08:57 +08:00
    被挂马了吧,可以开一台新的服务器,重新搭建一下程序,数据库还用原来的,程序最好也用 utf8 版本,测试没问题了把老服务器下掉就可以了,要设置好 php 执行权限
    summersun2021
        3
    summersun2021  
    OP
       2022-05-18 10:44:39 +08:00
    @lcy630409 http://111.230.251.80/
    summersun2021
        4
    summersun2021  
    OP
       2022-05-18 10:46:21 +08:00
    @keepeye 数据库在程序上备份也是 gbk 的,如果新服务器搭建新程序用 utf8 不是一样乱码吗
    hymzhek
        5
    hymzhek  
       2022-05-18 11:23:23 +08:00
    "数据库在程序上备份也是 gbk 的" 然后恢复到 “sql 数据库编码是 utf8”的了?
    keepeye
        6
    keepeye  
       2022-05-18 11:33:33 +08:00
    @summersun2021 你不要用 dz 备份,你都说了数据库是 utf8 的,你装一个 utf8 版本的 dz 直接连数据库就可以了,install 的时候都选择 utf8
    keepeye
        7
    keepeye  
       2022-05-18 11:34:42 +08:00
    抱歉,我再说详细点,install 的时候你先新建一个空的数据库,install 成功以后修改一下数据库连接指向老的数据库就可以了
    summersun2021
        8
    summersun2021  
    OP
       2022-05-18 11:40:06 +08:00
    @hymzhek 我之前从来没关注过数据库编码这些,我的意思的是之前在 discuz 后台备份数据库设置是 gbk 的,现在的数据库编码看到是 utf8 ,接下来大致流程是怎么样呢?目前系统是 win2012 服务器版,使用的是 xampp 面板,我的想法:
    1 、先在 xampp 面板备份数据库( utf8 )和复制 discuz 各种附件文件夹 2 、同一个服务器新建数据库再新安装 utf8 编码的 discuz 程序。3 、登录新程序然后恢复备份的数据库,迁移附件。 不知道这个流程对不对?
    yaoyao1128
        9
    yaoyao1128  
       2022-05-18 11:45:42 +08:00 via iPhone
    你的数据是 gbk 的 之后你的网页 meta 数据是 gbk 但是你的 discuz 输出的内容是 utf8 的……因为不匹配所以这样了……
    summersun2021
        10
    summersun2021  
    OP
       2022-05-18 13:45:16 +08:00
    @yaoyao1128
    1 、discuz 后台文件 config_global.php 页面里面的数据写着: $_config['db']['1']['dbcharset'] = 'gbk';,进入到 discuz 数据库看到排序规则也是:gbk_chinese_ci
    2 、不过在 xampp 面板打开 sql 首页看到服务器字符集:UTF-8 Unicode (utf8),服务器类型:MariaDB ,服务器版本:10.1.28-MariaDB - mariadb.org binary distribution
    3 、我有点晕了,应该怎么弄? 8 楼我写的方法对吗
    summersun2021
        11
    summersun2021  
    OP
       2022-05-18 13:46:48 +08:00
    @keepeye 我在 10 楼回复了一下,面板看到是 UTF-8 ,但是进入到数据库看到规则排序是 gbk_chinese_ci ,麻烦您了。谢谢
    keepeye
        12
    keepeye  
       2022-05-18 15:17:06 +08:00
    @summersun2021 那你还安装 gbk 的就行了,主要是你原来的环境被挂马了,重新安装一个干净的 dz ,我是这个意思
    summersun2021
        13
    summersun2021  
    OP
       2022-05-18 15:33:37 +08:00
    @keepeye 谢谢,我试一下
    bkchan
        14
    bkchan  
       2022-05-19 11:27:30 +08:00
    你重新下一个最新版本的 discuz 呢,重新安装一下,然后把数据库指向原来的数据库,就可以了应该
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3409 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:38 · PVG 18:38 · LAX 03:38 · JFK 06:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.