我在与Facebook紧密集成的Flash(AS3)中构建社交媒体应用程序 - 所有用户帐户都通过Facebook连接处理,并处理所有Facebook连接通过Javascript和AS3 Facebook API的组合。我在后端使用Codeigniter进行服务器端数据管理,其中包括通过Flash的URLRequests跟踪用户操作和网站上的数据。执行Facebook身份验证:客户端和服务器端
我的问题是,我不知道如何防止从Flash制作的服务器请求的欺骗;理论上,恶意用户可以跟踪Flash对我的服务器进行的调用,并以(例如)插入垃圾数据并将其与我的数据库中给定的Facebook用户ID相关联的方式进行再现。所有身份验证都是在客户端(通过Facebook JS API)进行的,没有服务器的干预,所以我很难搞清楚如何确保Flash和服务器之间的通话,确保用户必须通过Facebook进行身份验证才能制作出来。
我考虑的一种可能性是使用客户端和服务器已知的加密方案来回传递Facebook UID,这肯定会比传递给他们明显的更好。然而,只有一个有足够时间/耐心的有进取精神的黑客才能打破这个计划(或反编译瑞士法郎),将所有事情搞砸。
无论如何,我可能会反思这一点,但它似乎是一个重要的观点,我真的不确定最好的方法。任何反馈将不胜感激!
Rook,你是指访问令牌作为客户端可用的会话信息,并且服务器可以使用它来连接到FB? – Totach 2011-02-10 15:24:34
为了让您知道,您的wiki.developers.facebook链接已损坏。参考:meta.stackoverflow.com/q/101241/149820 – staticbeast 2011-08-08 22:22:33
这是不正确的。虽然它是实现这一点的一种方式,但使用客户端设置的cookie(javascript)库更有效。 – MetaChrome 2012-08-09 19:40:00