求思路:关于如何稳妥地让用户使用网络帐号登录软件。

gzmitch 2012-04-28 10:03:03
求思路:
我在做一个共享软件,类似QQ的登录模式(或很多网游的,卡巴斯基的。等等),用户需在网络注册一个帐号,然后通过这个帐号登录软件。
现在问题是:
1.如何防止用户利用同一个帐号登录多台电脑。最好能锁定指定的某一台电脑登录,其他电脑登录需要重新在网络登记。用上传用户的网卡MAC地址或用户的硬盘序列号稳妥吗?听说硬盘序列号很容易被破解。最好能做到好似卡巴斯基那样就最好了。
2.因为帐号分用户的等级,我打算是登录后,获取用户等级的变量来判断用户等级,这样的变量安全吗?听说变量很容易被修改。
还有的问题可能我还未想出来。

使用网络帐号登录软件的方式稳妥吗?还有什么漏洞未想出来,请赐教。
整个设计思路应该是怎样的呢?
大家讨论一下。


另外题外话就是使用加密狗安全吗?如何才能安全地为程序加密?有些加密狗能在加密狗内写入算法。那么该写入哪方面算法才安全。
讨论一下软件加密的问题。
...全文
135 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzmitch 2012-05-11
  • 打赏
  • 举报
回复
谢谢各位的思路答案,结贴,给分。。。谢谢!

谢谢aqtata朋友意见。你的建议很好。
一如当初 2012-05-08
  • 打赏
  • 举报
回复
你的意思好像是只允许注册的电脑使用?我觉得不可取吧,也许人家有笔记本电脑呢,也想用怎么办?或者换了硬件呢

我觉得你只用在服务端上监控连接IP就好了,若这个用户把帐户泄漏他人使用,必定连接的IP会来自五湖四海
比如一下在北京上线,一下又在广东上线,那么你就可以认为这个帐号已经泄漏了
shuihan20e 2012-05-08
  • 打赏
  • 举报
回复
个人感觉你有点舍本逐末了,你这个软件对安全的要求会有这么高还是你只是想做着玩玩
如果真是想特别安全,可以软件+硬件一起来实现
gzmitch 2012-05-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
你要控制用户利用同一个帐号登录多台电脑。
用网卡MAC地址或CPU序列号足够了。

至于你如果要求比较高的安全度,可以通过加密的方式来的方式来处理。
RSA算法就足够了。网上传输的是进过加密的数据。
如果你传输数据很大的话,那么用RSA算法加密密码,然后DES算法用哪个密码来加密数据。
这样网络上面传输就是安全的。不如HTTPS就是这种例子。

如果你怕客户端用户修改代码。那么你可……
[/Quote]

fengerfei2000
朋友,我想请教下:
我发现很难绑定一部电脑。如您说的MAC地址,其实是可以被模拟的。CPU序列号是很难获取的。CPUID也不一定能获取到。

那么,要做到防止两台电脑共享一个帐号来使用就觉得非常艰难了。比如用户把MAC地址,硬盘序列号等等电脑信息模拟了。你再加密也是没有用。
还有无好的办法防止用户使用同一帐号登录两台不同的电脑呢?(最好能像卡巴斯基那样绑定,但不知道卡巴斯基是绑定了用户硬件什么信息的。)
gzmitch 2012-05-06
  • 打赏
  • 举报
回复
谢谢fengerfei2000朋友。那么服务器上岂不充满着许多许多线程?另外服务器上中断线程,怎么把信息发送到客户端,好似QQ那样,让客户端马上下线。

另外,mustmust朋友,MAC地址我也觉得不够安全,现在打算程序自动生成一个随机的号码。用来代替MAC地址,不知道是不是比固定的MAC地址安全点。
mustmust 2012-05-05
  • 打赏
  • 举报
回复
MAC地址也很容易改啊,这样就足够了?
fengerfei2000 2012-05-02
  • 打赏
  • 举报
回复
离线版本的程序可以 通过短信或网站发给服务器,然后收到回复的注册码解决。

好像QQ那样,另一台电脑登陆,原来那台自动下线
你可以每个链接在服务器上面建立一个线程。如果有新建链接的特征如(IP,用户号码一样)
那么你就中断存在线程中特征一样的。
gzmitch 2012-04-30
  • 打赏
  • 举报
回复
求助,难道大家对这个话题没兴趣吗?
gzmitch 2012-04-29
  • 打赏
  • 举报
回复
有时也不能限制用户只能用定一台电脑。允许换电脑。但原来电脑帐号就不能使用了。那好像QQ那样,另一台电脑登陆,原来那台自动下线的功能是怎么实现的呢?
客户端可以随时访问服务器,但服务器更新了却不能通知客户端啊。是怎么实现的呢?
gzmitch 2012-04-28
  • 打赏
  • 举报
回复
感谢 fengerfei2000 朋友。你的建议很有效。我一字一字的读。真是受教了。感谢!
还希望多点朋友来讨论下关于软件加密的话题。

另外我还有一个离线版的程序,需要用到加密狗,但似乎加密狗也没有网络有效哦
fengerfei2000 2012-04-28
  • 打赏
  • 举报
回复

你要控制用户利用同一个帐号登录多台电脑。
用网卡MAC地址或CPU序列号足够了。

至于你如果要求比较高的安全度,可以通过加密的方式来的方式来处理。
RSA算法就足够了。网上传输的是进过加密的数据。
如果你传输数据很大的话,那么用RSA算法加密密码,然后DES算法用哪个密码来加密数据。
这样网络上面传输就是安全的。不如HTTPS就是这种例子。

如果你怕客户端用户修改代码。那么你可以用服务器提供服务的方式来验证客户的身份。

至于使用狗,如果你的程序在网络上面跑,真的不需要。





1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧