首页 > 开发 > 综合 > 正文

FMS异步与其他web语言达成异步验证

2024-07-21 02:30:25
字体:
来源:转载
供稿:网友
如做到 flash 输入账号 密码去取得数据库中的数据, 目前需要.net 或php做中转。方法有sendandload和webservice较为常用(目前as2  as3本人不熟不知道能否直接与数据沟通)。 但大家假想,如果用flash客户端直接去从取。如果页面地址暴露将会有什么后果。。不能想都知道。
最理想的处理方法则是 用flash 把账号,密码传给fms,让fms去做和数据库登录验证的工作。这样才能达到最安全的机制.如下图的验证机制。
fms异步与其他web语言达成异步验证_网页设计VeVb.com整理
从图上可以看出,验证的主要还是由.net和php做验证。fms只是做了把账号密码中转了一次。但这样做法有很大用途。这样让玩家无法得取.net的处理页面具体地址。要想知道就得把fms服务器给黑了才知道,比起写在flash客户端用破解软件要安全的多得多。特别是现在flash破解软件满天飞的时代

但sendandload和webservice的处理方式是异步的,要经过访问和返回的步骤。特别在网络不佳的时候还有等待的处理。下面的例子用sendandload来简单说明怎么处理异步的fms验证操作。

=========fms端========
以下为引用的内容:
function userlogin(_newclient,usrname,usrpwd){
    trace("用户登录")
    thisobj=this
    //用户登录gamelogin()         
    var login = new loadvars()
    login.onload = function(success) {
        if (success) {
            if (this.usrokflag == "ok") {
                trace(usrname+"登录成功")
                application.acceptconnection (_newclient);
                //取数据过程
                _newclient.mydata=this.data    
                //发送给客户端,登录成功。让它初始
                _newclient.call("init")
            }                    
        } else {
            application.rejectconnection (_newclient, "登录失败!")
        }
    };    
    sendurl="http://www.xxx.com/xxx.aspx?usrname="+usrname+"&usrpwd"+usrpwd+"&"
    login.sendandload(sendurl, login, "get");
    //    
}

application.onconnect = function(newclient,usrname,usrpwd) {
    userlogin(newclient,usrname,usrpwd)    
};
//

大家可以看到 在登录的时候去调用一个function 把 new loadvars() 写在该函数中。这样同时n人进入,
他会自动处理多个function。而每个function中就是一个new loadvars。并把处理的结果调回了相应的function中达到异步的接受事件.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表