码迷,mamicode.com
首页 > 其他好文 > 详细

解密陌生人(7)注册

时间:2015-06-17 09:38:32      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:注册   服务器   

提示: 因为工程稍微有点大对我个人来说,所以可能在某些方面讲的不清楚或逻辑性不够强,如果有问题请及时@我。
原工程:https://github.com/LineChen/

一、注册
注册就是保存用户的个人信息,包括用户注册邮箱,系统分配的Id(最开始没想到分配Id来标识一个用户,而是准备用邮箱,但是在保存用户离线消息时需要结合用户唯一标识来创建表,由于邮箱带有特殊字符@,所以不能作为表名,只有为每个注册的用户分配一个Id,之后所有通讯操作均用Id标识)、用户名、生日、性别、密码、头像

注意点:
1.头像的存储:这里并不是把头像用BLob型数据存到数据库,而是借助文件系统保存用户头像,包括之后的离线语音和离线图片,在数据库只用保存路径,这样操作简单,速度更快。其他所有和图片或语音相关的处理和这一样。

2.密码的存储:对于密码的各种操作,一定要尽量保证最大的安全度。在客户端和服务器传递之间,用的PBE对称加密,如果没有人专门花时间去抓包解密,而且就算这样也不一定能解密出来。然后,对于密码,比如注册时,或者登录时都要用到密码,发送到服务器的密码用的是MD5转换,也就是说,在数据库存储密码不会是明文存储,用明文存储密码是一件非常危险的做法。如果有人盗取了你的数据库,就同时得到用户的所有信息,包括密码。还记得前几年的“密码事件”,CSDN用户数据库泄露、天涯社区数据库泄露、索尼数据库泄露等等,涉及用户都是几千万,悲剧的是天涯社区存储用户的信息全部是明文,包括密码 ……

/**
* 处理注册
*
* @param session
* 会话
* @param moMsg
* 消息包
*/
public void handleRegister(IoSession session, iMoMoMsg moMoMsg) {
JSONObject json = JSON.parseObject(moMoMsg.msgJson);
SqlModel model = new SqlModel();
String userEmail = json.getString(MsgKeys.userEmail);
String userId = model.allocateId();// 分配Id
String userHeadPath = StaticValues.HEAD_P_PATH + userId + “.png”;
FileTools.getInstance().saveMultyFile(userHeadPath, moMoMsg.msgBytes);
String sql = “insert into imomo_clients values (?,?,?,?,?,?,?,?,?)”;
String[] paras = { userId, userEmail, json.getString(MsgKeys.userName),
json.getString(MsgKeys.userPasswd), userHeadPath,
json.getString(MsgKeys.userSex),
json.getString(MsgKeys.userBirthday), “” , 0+”“};
iMoMoMsg Notify = new iMoMoMsg();
Notify.symbol = ‘+’;
JSONObject NotifyJson = new JSONObject();
if (model.updateDb(sql, paras)) {
NotifyJson.put(MsgKeys.msgType, iMoMoMsgTypes.REGISTER_SUCCESS);
System.out.println(“注册成功”);
} else {
NotifyJson.put(MsgKeys.msgType, iMoMoMsgTypes.REGISTER_FAILED);// 注册失败
}
Notify.msgJson = NotifyJson.toJSONString();
session.write(Notify);
}

从上可以看到,注册分为分配用户Id,然后保存个人信息。保存成功便是注册成功,发送注册成功的通知给用户。

解密陌生人(7)注册

标签:注册   服务器   

原文地址:http://blog.csdn.net/u011102153/article/details/46529393

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!