Unity3d实战之Unity3d网络游戏实战篇(7):数据管理类DataMgr
学习书籍《Unity3d网络游戏实战》 罗培羽著 机械工业出版社
本文是作者在学习过程中遇到的认为值得记录的点,因此引用的代码等资源基本出资罗培羽老师的书籍,如有侵权请联系,必删。
DataMgr是封装数据库操作的类,它实现了用户名密码验证、注册、创建角色、获取角色数据、保存角色数据。
Register:向user表插入user_name 和 password;
CreatePlayer:创建默认PlayerData并存入player中;
CheckPassWord:检查user_name 和 password对能否在user表中找到对应数据;
GetPlayerData:根据user_name在player找出对应的data;
SavePlayer:根据user_name更新player中的data;
辅助用的方法:
private bool IsSafeStr(string str);
通常,我们注册一个账号、创建一个新角色并给他输入昵称时会看到有一些字符是不允许输入的,这是为了防止sql注入,所谓sql注入就是用户在用户名栏或者密码栏中恶意输入sql命令,由于程序是通过用户输入来进行数据库查询的,因此很有可能会发生数据库被破坏的情况。例如:
用户注册了用户名为”xiaoming; delete * from player;”的名字,该字符串传到程序中会执行如下数据库操作命令:
select * from player where id=xiaoming; delete * from player;
瞬间爆炸!所以一定要对用户的输入进行特殊字符的排除!
/// <summary>
/// Check the string , if it has illegal characters.
/// </summary>
/// <returns><c>true</c> if this instance is safe string the specified str; otherwise, <c>false</c>.</returns>
/// <param name="str">string</param>
bool IsSafeStr(string str)
{