wuyuxiaoqiang 发表于 2011-1-21 23:53 $ t+ b! i- V7 v @, Z/ R
LZ误解,无双完全有可以写出网关放万能的登录器。。对于我来说就是这样!!!!不解释测试OK一句话! * H0 V6 T; O9 ^, h0 A/ v0 r
你说的这个可能是可以吧!但是现在确实还没有发现类似的东西出来!8 c& ~( S2 q, |. ^2 z- @* d6 o
关于网关的主要组成部分是通过密匙来完成。到是有可能实现阻止其他登录的做法!8 m( {7 \+ O& \- q6 g& k* k
, d1 m! b9 c9 r) k" A1 _1 n/ ^不过这个技术含量明显是个小防火墙了! V4 h1 l$ z& g, O) l& q
8 H2 `* w% N1 B. b2 E; c4 a* B
具体实现步骤:(编程人员仅供参考)
. H: d3 M J# N# t! t Z, h7 E# R# T ^/ h
项目:1
" Z$ @% Y4 f: S- q9 h) ?( i u# p9 ^( r/ U3 q
1)。建立一组密匙,建议采用一套算法,不推荐固定值!
7 t, Z, C" @! \- v) |2)。建立Socket(网络通信)Server实现端口数据过滤。
# [4 Z/ B/ G5 p3)。建立客户端也可以叫做登录器,由于Bf_client启动的时候会关闭掉登录器,可以将客户端写成动态链接库的方式注入到Bf_client内。
3 h+ I3 T5 u. X- W3 ]; W" g4)。通过动态链接库截取Bf_client发送账号密码的封包,将其修改为添加一组密匙
9 V: Y; i7 V, @; @例如:Bf_client发送的数据有Account,PassWord,梦幻版带有安全码,截取后将其发送至自己建立的Socket服务器(也可以称为网关)。
0 R4 k0 F# q% W" r$ Q( w! F8 H! t' s( P; ?# A) H
-----------------未改变方式(例如)-----------------
) J1 j, ~4 A7 y7 _2 U6 ?$ WAccount='xxxx'
* ~9 ~6 r" w5 X; W$ m6 \* e' aPassWord='xxxx'8 G6 _; r+ e) {' n1 |) t* o
------------------加密后---------------------------------
1 z3 z, ]3 `; bAccount='xxxx'8 k- k) j5 t8 T" c
PassWord='xxxx'0 x2 X2 i! k8 x' V
UserKey='推荐使用算法,固定值容易破解'
. U7 Z; T0 W) {( d/ Z& J: d------------------------------------------------------------/ x; }8 l1 s4 E4 L1 e$ C, q
' t+ k6 J" I6 c' z
//false 进制通过
* K- \0 M( B; F+ k) S* `//true 验证成功% g1 F* i6 T% f4 u' K% ?
网关得到消息后判断是否存在密匙
# Z1 p2 S, P# J. ^! F8 _if(UserKey==""){# F0 Q! X) f& Y$ h: R
return false;$ d. |) i+ B' V3 X' h
}else if(UserKey!=算法){
% b& u- Q1 y" a4 Q6 e+ @+ Creturn false;% D% W- @7 {' R+ }: v8 K0 e
}else{9 _0 K1 `) r9 c/ ]7 _- W
return true;% w, V# \! y# d1 L f
}# p- K4 y2 l$ M6 I- R' h
v* ?' A7 v0 I- J
-------------------------------------------------------------
* [* L( H$ N4 k( s3 c. E* L只可以说是治疗标的方法,不能从根本上解决问题! @; ]& h; d! {
7 f- m7 I. s3 q0 v
建议还是不要投入过大精力来完善这个鸡肋的功能。出售就更没有必要了!
9 r( f5 k/ A1 d( C5 S E6 K3 i
) n9 m# ~( K) c如果您真的已经完成该网关还是建议共享!或者开源。。 |