台服dnf吧 关注:116,847贴子:1,841,292
  • 13回复贴,共1

【教程】自建DNF外网服务器的数据库密码修改

取消只看楼主收藏回复

修改数据库的账户密码有以下好处:
1.防止恶意人士通过外网对数据库攻击,导致dnf的游戏数据损坏。
2.通过在数据库新增登录专用账户,防止登录客户端泄露数据库的管理员账户信息,保证只有服务器管理员才可以使用GM工具。


IP属地:湖北1楼2025-01-13 14:35回复
    一、准备工作
    1.DNF环境搭建完成的服务器(可以登录游玩)
    2.连接并登录进服务器里的数据库


    IP属地:湖北3楼2025-01-13 14:41
    回复
      二、修改数据库的管理员密码,防止恶意人士通过外网破坏自己的服务器数据库
      提示:DNF一键搭建脚本默认配置的数据库账户密码非常简单,大家都知道的账户密码不安全,很容易被别人利用攻击,所以需要修改为一个只有自己知道的复杂密码。


      IP属地:湖北4楼2025-01-13 15:02
      回复

        打开自己的数据库,使用鼠标点击,按照图片里的顺序1、2、3,新建查询


        IP属地:湖北5楼2025-01-13 15:05
        收起回复
          完成上面一步后:会打开一个查询编辑器。
          1.在【图标1】处输入 select user,host from mysql.user;
          2.鼠标单击【图标1】上方不远处的《运行》
          3.查看【图标2】处的显示结果,确保存在有上面两条数据(game %)和(game 127.0.0.1)


          IP属地:湖北来自Android客户端6楼2025-01-13 15:38
          回复
            上一步操作是确认数据库已有账户不存在问题,两个数据库管理员账户中(game %)是gm工具登录使用的数据库账户,坏人也是利用这个账户来破坏数据库的,后面我们要修改它的密码。(game 127.0.0.1)是DNF服务端使用的数据库账户,不要修改它,也不需要修改,它不会被恶意利用,修改后会导致DNF服务端无法运行。


            IP属地:湖北来自Android客户端7楼2025-01-13 15:56
            回复
              1.在[图标1]处的查询编辑器里输入代码:
              set password for game@'%' = password('abc');
              flush privileges;
              上述代码里面的abc就是你想要为账户(game %)修改的密码,注意密码的复杂度要包含字母、数据、符号,简单的密码非常容易被脚本攻击,abc只是我演示所用。
              比如你想修改密码为Xbw23|&23,则代码要修改成:
              set password for game@'%' = password('Xbw23|&23');
              flush privileges;
              2.在[图标2]处确认代码的运行结果,显示内容的格式和图片里一样,即是运行成功。


              IP属地:湖北来自Android客户端8楼2025-01-13 16:11
              回复
                完成以上内容后,数据库管理员的密码就被修改成了只有自己一个人知道的密码,我们成功的保护了自己的DNF数据安全


                IP属地:湖北来自Android客户端9楼2025-01-13 16:16
                回复
                  三、创建一个数据库登录专用账户
                  一般搭建DNF服务器后,会邀请朋友来一起游玩,就需要把DNF登录客户端文件发给朋友,但是客户端里存有数据库的管理员账户密码,因为客户端的注册和登录功能需要连接数据库。为了防止朋友使用管理员账户配合gm工具给自己发道具,这时就需要一个只有登录和注册权限的数据库专用账户,这个专用账户只能用于DNF的登录和注册,哪怕泄漏了也不影响什么。


                  IP属地:湖北来自Android客户端11楼2025-01-13 16:27
                  回复
                    1.在【图标1】处的查询编辑器中输入代码:
                    create user dnf@'%' identified by '1';
                    GRANT SELECT, INSERT ON `d_taiwan`.`accounts` TO dnf@'%';
                    flush privileges;
                    运行后会创建一个(dnf %)的数据库账户,这个账户只有登录和注册"DNF账户"的功能,它就是我们想要的"登录专用账户"。
                    2.检查【图标2】处的内容显示格式和图片里一样,确认代码正确执行。


                    IP属地:湖北来自Android客户端12楼2025-01-13 16:44
                    回复
                      修改DNF登录端目录的game.ini文件,将里面的数据库管理员账号修改为我们创建的登录专用账户


                      IP属地:湖北来自Android客户端13楼2025-01-13 16:48
                      回复
                        内容如图片所示,用上面创建的登录专用账户填写DBUser和DBPass,账户是dnf,密码是1。后面我会讲解登录专用账户创建时的代码。


                        IP属地:湖北来自Android客户端14楼2025-01-13 16:54
                        回复
                          代码讲解:
                          ①:create user dnf@'%' identified by '1';
                          创建一个账户(dnf %):账户名为dnf,密码为1。如果你想创建账户名为myself,密码为abc的账户(myself %),则代码为:
                          create user myself@'%' identified by 'abc';
                          ②:GRANT SELECT, INSERT ON `d_taiwan`.`accounts` TO dnf@'%';
                          赋予账户(dnf %)登录和注册的权限,SELECT代表登录权限、INSERT代表注册权限。如果你只想给账户(myself %)登录权限,而不给注册权限,则代码为:
                          GRANT SELECT ON `d_taiwan`.`accounts` TO myself@'%';
                          ③:flush privileges; 更新数据库的权限信息,让新建的数据库账号立即生效。这段代码是必要不可修改的。


                          IP属地:湖北来自Android客户端15楼2025-01-13 17:04
                          收起回复
                            我使用吧主置顶帖的一键搭建脚本装的服务器端,不知道是啥pvf版本,弄的70等级玩起来也还行。
                            优点有:副本掉落代币券;黑钻是每日任务奖励获取,任务材料靠副本掉落;城镇NPC商店的内容通过任务指导来介绍,非常友好;
                            缺点有:黑钻任务材料大概2天疲劳掉落才够完成一次;角色buff技能原汁原味,持续时间很短;疲劳药冷却时间6个小时;
                            这是我游玩到34级的当前体验。我自己去研究了下pvf修改,我修改了红眼的buff技能持续为2小时,疲劳药的CD改为1s。隔三差五上buff技能,体验很差的。有时间想多玩会,疲劳不够了也难受。后面想把领主神器修改成封装状态,这样不是佩戴角色掉落也能利用起来。


                            IP属地:湖北17楼2025-01-13 18:24
                            回复