正如我们在前面曾讨论过的,登录服要实现的功能相当简单,就是帐号验证。为了便于描述,我们暂不引入那些讨论过的优化手段,先以最简单的方式实现,另外也将基本以mangos的代码作为参考来进行描述。
想象一下帐号验证的实现方法,最容易的那就是把用户输入的明文用帐号和密码直接发给登录服,服务器根据帐号从数据库中取出密码,与用户输入的密码相比较。
这个方法存在的安全隐患实在太大,明文的密码传输太容易被截获了。那我们试着在传输之前先加一下密,为了服务器能进行密码比较,我们应该采用一个可逆的加密算法,在服务器端把这个加密后的字串还原为原始的明文密码,然后与数据库密码进行比较。既然是一个可逆的过程,那外挂制作者总有办法知道我们的加密过程,所以,这个方法仍不够安全。
哦,如果我们只是希望密码不可能被还原出来,那还不容易吗,使用一个不可逆的散列算法就行了。用户在登录时发送给服务器的是明文的帐号和经散列后的不可逆密码串,服务器取出密码后也用同样的算法进行散列后再进行比较。比如,我们就用使用最广泛的md5算法吧。噢,不要管那个王小云的什么论文,如果我真有那么好的运气,早中500w了,还用在这考虑该死的服务器设计吗?
似乎是一个很完美的方案,外挂制作者再也偷不到我们的密码了。慢着,外挂偷密码的目的是什么?是为了能用我们的帐号进游戏!如果我们总是用一种固定的算法来对密码做散列,那外挂只需要记住这个散列后的字串就行了,用这个做密码就可以成功登录。
嗯,这个问题好解决,我们不要用固定的算法进行散列就是了。只是,问题在于服务器与客户端采用的散列算法得出的字串必须是相同的,或者是可验证其是否匹配的。很幸运的是,伟大的数学字们早就为我们准备好了很多优秀的这类算法,而且经理论和实践都证明他们也确实是足够安全的。
这其中之一是一个叫做SRP的算法,全称叫做Secure Remote Password,即安全远程密码。wow使用的是第6版,也就是SRP6算法。有关其中的数学证明,如果有人能向我解释清楚,并能让我真正弄明白的话,我将非常感激。不过其代码实现步骤倒是并不复杂,mangos中的代码也还算清晰,我们也不再赘述。
登录服除了帐号验证外还得提供另一项功能,就是在玩家的帐号验证成功后返回给他一个服务器列表让他去选择。这个列表的状态要定时刷新,可能有新的游戏世界开放了,也可能有些游戏世界非常不幸地停止运转了,这些状态的变化都要尽可能及时地让玩家知道。不管发生了什么事,用户都有权利知道,特别是对于付过费的用户来说,我们不该藏着掖着,不是吗?
这个游戏世界列表的功能将由大区服来提供,具体的结构我们在之前也描述过,这里暂不做讨论。登录服将从大区服上获取到的游戏世界列表发给已验证通过的客户端即可。好了,登录服要实现的功能就这些,很简单,是吧。
确实是太简单了,不过简单的结构正好更适合我们来看一看游戏服务器内部的模块结构,以及一些服务器共有组件的实现方法。这就留作下一篇吧。
分享到:
相关推荐
网上服装商城-网上服装商城的设计与实现代码-java-springboot-基于springboot的网上服装商城项目-代码-...4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素
"行业文档-设计装置-具有储物功能的服装"这一主题,聚焦于创新性的服装设计,旨在满足现代人对于便携性和实用性的需求。这种设计将储物空间巧妙地融入衣物之中,打破了传统服饰的界限,为日常生活带来了极大的便利。...
传统服饰文化系统-传统服饰文化系统的设计与实现-代码-java-基于...4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素材管理 21 5.1公告信息管理 22 第6章 系
服装销售平台-服装销售平台的设计与实现代码-java-springboot-基于springboot服装销售平台项目-代码-...4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素材
服装定制系统-服装定制系统的设计与实现代码-java-ssm-基于ssm的服装...4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素材管理 21 5.1公告信息管理 22 第
该系统不仅满足了用户在线浏览、选择服装款式、定制个性化设计的需求,还提供了便捷的在线支付、订单追踪以及售后服务等功能。通过SSM框架的整合运用,系统实现了高效的业务逻辑处理与数据交互,保证了系统的稳定性...
4.5功能需求 - 17 - 4.6性能需求 - 17 - 4.7运行需求 - 18 - 第5章 系统详细设计 - 19 - 5.1系统功能结构图 - 19 - 5.2系统功能设计 - 19 - 5.3系统E-R图 - 21 - 5.4数据库表设计 - 21 - 5.5功能模块设计 - 23 - ...
具体功能包括用户登录管理、用户信息的增删改查、服装的进销存管理、销售记录、门店向总部发送销售信息、总部根据销售情况调整策略以及滞销服装的处理。 三、需求分析 系统需实现以下功能: 1. 登录管理:验证员工...
标题提到的"行业分类-外包设计-兼具衣架功能的包装盒及衣架的介绍分析"揭示了一个跨界的创新设计,它将包装盒与衣架巧妙地结合在一起,为零售业、物流运输以及消费者的日常生活带来了诸多便利。这份资料很可能包含了...
服装生产管理系统-服装生产管理系统的设计与实现代码-java-springboot-基于springboot的服装生产管理项目-代码-...4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.
该软件专门为服装鞋帽行业设计,旨在帮助客户提高整个企业的管理效率。 基础资料管理:本模块包括货品资料管理、部门管理、职员资料、权限设置、货品图档及单价档的管理等功能,帮助企业快速建立基础数据。 供应链...
7. **文档**:可能包括需求文档、设计文档、使用说明等,帮助理解项目的整体架构和功能。 通过学习和研究这个项目,可以深入了解SSM框架的整合使用,以及如何在实际项目中运用Java设计原则和模式。同时,对于前端...
在现代社会,不同类型的服装满足了不同功能需求的层次排序,如礼服强调仪容和装饰美化,职业装注重标识和适应工作,运动服需要防护和调节适应,而日常休闲装则更注重舒适和装饰。 服装开发的新产品策略通常包括: ...
网上服装商城的设计与实现代码-java-springboot-基于springboot的网上服装商城项目-代码-源码-...4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素材管理 21
服饰文化体验系统-服饰文化体验系统的设计与实现-java-ssm-基于ssm的...4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素材管理 21 5.1公告信息管理 22 第6
1. **产品设计流程**:设计一个新装置通常包括需求分析、概念生成、初步设计、详细设计、原型制作、测试与评估等步骤。设计师需要考虑产品的功能、外观、材料选择以及制造成本等因素。 2. **工程材料选择**:笔帽...
服装销售平台的设计与实现代码-java-springboot-基于springboot服装销售平台项目-代码-源码-...4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素材管理 21 5
服装定制系统的设计与实现代码-java-ssm-基于ssm的服装定制...4.2系统功能设计 9 4.3数据库设计 9 第5章 系统的实现 20 5.1用户信息管理 20 5.2 图片素材管理 20 5.3视频素材管理 21 5.1公告信息管理 22 第6章 系统的测
总的来说,这个毕业设计项目展示了如何运用VB和SC架构来构建一个实用的服装专卖店管理软件,涵盖了软件工程的各个环节,包括需求分析、设计、编码、测试和文档编写,是学习和实践IT技术的一个综合实例。
1.1 绘图功能:CoreIDRAW 软件能够实现服装设计对于随意改变线条线型,任意绘制曲线,设置绘图原点等各种需求,且添加了辅助线,实现了数据变化的精确度。 1.2 任意性设置图纸:CoreIDRAW 软件能够满足图纸大小与...