如何使用远程服务器(CAKEPHP)验证桌面FLEX / AIR应用程序?

时间:2011-04-21 09:19:26

标签: flex cakephp air

我将Adobe AIR / FLEX应用程序打包为在桌面上运行的本机安装程序应用程序。从那里,我需要做以下事情: a)留在“app:”应用程序沙箱中,这样我就可以将“file://”JPG加载到我的mx:HTML控件中 b)使用我的服务器(CAKEPHP)进行身份验证以获取有效的CAKEPHP会话Cookie,以及 c)从javascript安全地获取/发布XHR请求。

我可以在不丢失应用程序沙箱的情况下使用OAUTH或Facebook Connect等身份验证吗?似乎我从我的mx:HTML重定向,我失去了我的本地特权。

我可以使用不同的沙箱(远程?)对我的服务器进行身份验证,并安全地将会话Cookie传递给我的应用程序沙箱吗?

这些方法中的任何一种都可以安全地防止脚本攻击吗?

1 个答案:

答案 0 :(得分:0)

  

我可以在不丢失应用程序沙箱的情况下使用OAUTH或Facebook Connect等身份验证吗?似乎我从我的mx:HTML重定向,我失去了我的本地特权。

     

我是否可以使用不同的沙箱(远程?)对我的服务器进行身份验证,并将会话Cookie安全地传递到我的应用程序沙箱?

我不知道Air / FLEX,但您当然可以将OpenID / OAUTH / Facebook Connect集成到您的蛋糕应用程序的注册/登录屏幕中,没有任何问题,然后使用它来验证您的用户。

我不会重定向,而是使用post / get方法将登录数据发送到蛋糕应用程序(用户/登录),确保没有为login()呈现视图/布局并返回用户会话数据(json_encode, $这 - > Auth->用户)

  

这些方法中的任何一种都可以安全地防止脚本攻击吗?

如果您确保只能由应用程序访问login()函数,则可能是这样,可能会发送唯一标识符,加密数据(通过SSL或仅序列化)。同时对XSS进行标准检查,延迟暴力和蛋糕的方法实际上有一些很好的消毒方法来处理注射(通常默认启用)。