Php Facebook JS SDK的安全问题
我正在使用facebook JS sdk登录用户。以下是我遵循的步骤:-Php Facebook JS SDK的安全问题,php,jquery,facebook,facebook-graph-api,facebook-javascript-sdk,Php,Jquery,Facebook,Facebook Graph Api,Facebook Javascript Sdk,我正在使用facebook JS sdk登录用户。以下是我遵循的步骤:- 1) 我使用FB.login(…)获取用户的详细信息。 2) 现在,在收到Facebook的详细信息后,我使用jQuery的$.POST(..)函数向php页面发送一个POST请求,比如说FBUser.php,参数为name,uid(Facebook用户Id),email和访问令牌,用于发布操作 3) 现在在FBUser.php页面中,我做了所有的事情,比如将短期令牌转换为长期令牌,然后检查收到的uid是否存在于我的us
1) 我使用
FB.login(…)
获取用户的详细信息。2) 现在,在收到Facebook的详细信息后,我使用jQuery的
$.POST(..)
函数向php页面发送一个POST请求,比如说FBUser.php
,参数为name
,uid
(Facebook用户Id),email
和访问令牌
,用于发布操作
3) 现在在FBUser.php
页面中,我做了所有的事情,比如将短期令牌转换为长期令牌,然后检查收到的uid
是否存在于我的users
表中。如果不是,我将创建一个新用户,否则我将登录旧用户
今天,我才意识到我在做一个如此大的安全妥协,因为任何人都可以使用现有用户的uid
向FBUser.php
页面发送POST请求,并访问他的帐户。但是,另一方面,我确信一些大型网站也使用JSSDK。很明显,我在某个地方错了。安全登录用户并防止其帐户被黑客攻击的正确步骤是什么?您应该首先匹配应用程序和用户id,然后检查访问令牌,如下所示:
graph.facebook.com/debug_-token?输入_-token={token-check}&access_-token={app-token}
您可以从获取应用令牌。您可以使用发送给您的访问令牌获取用户的uid,使用此令牌访问Facebook图形并查询“/me”。
您不应该中继客户端发送的uid。我的应用程序只接收访问令牌,并从服务器对服务器调用获取其余数据。@CBroe,感谢您提供链接。没有去那部分我想说的是你处理了@CBroe评论的答案,但是你给我的链接帮了我…+1