在ASP.net Web应用程序中使用Facebook JavaScript API的安全问题

时间:2011-08-19 23:11:49

标签: asp.net facebook-graph-api facebook-javascript-sdk

我正在ASP.net中开发一个Web应用程序,允许用户使用Facebook连接登录并使用这些服务(比如张贴图片或投票给图片)。

为了保持用户通过Facebook连接连接的记录,通过在数据库中插入唯一的用户ID(类似于Facebook提供的632343)来自动注册用户。其他活动(如张贴图片或投票给图片)是根据用户的唯一用户ID记录的。

当用户登录时,通过从数据库中获取userId = [当前Facebook连接用户的用户ID]的条目来加载他/她的私人页面

我在这个场景中使用Facebook JavaScript SDK,直到我发现我正在做的安全性失败。我实际上获得了当前Facebook连接用户的userId,然后向部分页面loadprofile.aspx?user =''发送请求以加载私人资料页面。任何知道任何用户的Facebook ID的人都可以使用“Firebug for FireFox”等工具破解页面,或者只是向loadprofile.aspx?user = [user id]发送get请求,并且可以获取该用户的私有内容。 / p>

我能找到的唯一解决方案是使用图API并在服务器端对用户进行身份验证以获取userId,以便为当前Facebook连接的用户在内部生成私有页。

我想问你们,如果使用Facebook JavaScript API仍有一种安全的方法,我觉得它很容易使用。请帮忙。

1 个答案:

答案 0 :(得分:0)

确保您启用了加载OAuth的javascript sdk, 然后对于后续请求,请求应包括代码参数。 根据经过验证的代码进行检查

但坦率地说,作为更好的安全措施,首选服务器端处理