wuyuxiaoqiang 发表于 2011-1-21 23:53 
( V: k+ p8 d3 h7 z+ k& wLZ误解,无双完全有可以写出网关放万能的登录器。。对于我来说就是这样!!!!不解释测试OK一句话!
0 U6 I0 m9 |; ?. P" s o你说的这个可能是可以吧!但是现在确实还没有发现类似的东西出来!
0 Q0 }# m4 I6 G' E0 r4 u关于网关的主要组成部分是通过密匙来完成。到是有可能实现阻止其他登录的做法!* Q' b+ H# |" M
% [- z+ o. ]; n( \' c. w1 T {9 v不过这个技术含量明显是个小防火墙了!
( ^7 Q- P2 [; T% _& j1 g) V
) r4 E6 E; F5 y9 i具体实现步骤:(编程人员仅供参考)( n$ x3 z. i5 Z/ d
- d& w6 v I8 e9 H5 S项目:1
) N4 x5 W& d$ ~3 p, O9 b3 g, @0 u4 x' i
1)。建立一组密匙,建议采用一套算法,不推荐固定值!/ Y5 g$ m: n) y T! Z
2)。建立Socket(网络通信)Server实现端口数据过滤。0 G* `+ L4 d# T7 j6 K4 ]6 B
3)。建立客户端也可以叫做登录器,由于Bf_client启动的时候会关闭掉登录器,可以将客户端写成动态链接库的方式注入到Bf_client内。
$ k+ \ q& D6 F! v' T5 o, g1 [8 R4)。通过动态链接库截取Bf_client发送账号密码的封包,将其修改为添加一组密匙
+ q- U5 [- {% E2 C# U! x例如:Bf_client发送的数据有Account,PassWord,梦幻版带有安全码,截取后将其发送至自己建立的Socket服务器(也可以称为网关)。& {7 a$ o) o4 ]
$ Y+ d# `% ~/ |& p* D-----------------未改变方式(例如)-----------------# H5 I; }4 }4 ]1 K* e4 J
Account='xxxx') D! N$ o4 p( r/ Y6 ]5 M
PassWord='xxxx'
4 y8 L- W% Q! \% y# U------------------加密后---------------------------------7 w' U6 k7 Y, Y0 f# `0 t
Account='xxxx'3 u. _( _& Z& l! _- A' b
PassWord='xxxx'
: l6 o- k E, V" Y( C- l. y( ]. eUserKey='推荐使用算法,固定值容易破解'; i( h4 b" Q. _" I9 A7 F, g
------------------------------------------------------------/ ]! W0 X8 V M) j2 V7 a8 \3 L* A
3 L7 `/ C4 Y- r9 d
//false 进制通过: K: h# Q# K! I$ y5 ~! t
//true 验证成功
+ U* b4 i2 Q, }( M6 l+ G网关得到消息后判断是否存在密匙) c- B. Q$ m. I' ]3 h' s
if(UserKey==""){
% m' V' b8 w2 [! i" dreturn false;
5 s) u2 I" Y* m3 ]8 F}else if(UserKey!=算法){
; a/ @) ~0 N: T0 ureturn false;& H) X7 v( G* _
}else{
4 i! ^* L4 z( ireturn true;1 v$ C! W) y; N
}
! B- Q. S) i; G9 s2 y a# z" P. K' \: s" ?& ^
-------------------------------------------------------------
2 T0 `% P5 a1 J% ]1 a- r# `2 D% O; U$ Y只可以说是治疗标的方法,不能从根本上解决问题!# A* l7 W% l% f. m5 U( t" b# @; Q
( r) l. A: o M# H* |建议还是不要投入过大精力来完善这个鸡肋的功能。出售就更没有必要了!
3 M: M4 `; l `
) k( G8 C6 F" |1 y2 ?4 J0 f9 h如果您真的已经完成该网关还是建议共享!或者开源。。 |