gpt4 book ai didi

javascript - Facebook Javascript SDK 安全问题?

转载 作者:数据小太阳 更新时间:2023-10-29 05:53:57 25 4
gpt4 key购买 nike

我正在尝试将 facebook 身份验证嵌入到我的应用程序中。我最初的努力是在浏览器中登录并获取代码。我将此代码传回我的 api 并获取访问 token (保留在服务器中)并通过我的服务器将我的所有请求路由到 FB Api。对我来说似乎完全安全,因为我的客户没有任何信息能够作为我的应用程序对 FB 进行授权调用。

然而,我一直在研究 FB Javascript SDK,以避免编写用于打开和关闭对话框的代码,并注意到它允许我getLoginStatus 并返回访问 token 给我。此外,我在他们的文档中查看了 FB 身份验证流程,他们说客户端-服务器混合流程可以在服务器实际将“长期访问 token ”返回给客户端并建议我使用 HTTPS(公平)的情况下执行。

现在这一切让我开始思考这是否是一个安全问题。作为一名潜在的黑客,我不能在用户的网页中注入(inject)一些 javascript 来
a) 创建一个getLoginStatus 并获取访问 token ,或者
b) 只获取访问权限通过向我的 api 服务器发出请求并获取访问 token
然后使用它来发布(假设用户授权我的应用程序这样做)到 facebook,就好像我的应用程序正在这样做一样?

我是一名安全新手,可能忽略了这里的一堆东西,但有人可以帮助我了解我缺少的东西吗?

提前致谢!

PS:我确实知道我可以启用进一步的安全性,以确保每次我想发出客户端无法执行的请求时都需要应用程序 secret ,因为该信息在客户端永远不可用。

最佳答案

我不是安全专家,只是一些想法:在您的问题中,您假设黑客使用恶意软件以某种方式将脚本注入(inject)用户浏览器中的网页,然后该脚本与您在客户端的数据进行交互.

现在,如果我们想象这真的发生了,并且恶意脚本拥有对网页数据的完全访问权限,即使您在客户端上没有访问 token ,是什么阻止了恶意脚本向您的服务器发出请求并通过您的服务器与 Facebook 互动?

此外,如果用户打开 facebook 本身并在那里授权,则恶意脚本可以注入(inject) facebook 页面并代表用户执行任何操作,只需将请求发送到 facebook 服务器。

这样,我认为如果您描述的情况发生了,您是否在客户端存储访问 token 并不重要 - 无论如何,邪恶的脚本将能够完成它的工作。

实际上,如果您担心安全性 - 首先仔细检查所有与身份验证和安全性相关的 facebook 文档,并遵循他们的建议。其次 - 搜索常见的已知攻击向量和如何避免应用程序中的安全风险的建议。如果用户的计算机上已经安装了能够改变浏览器行为(例如将其他脚本注入(inject)页面)的恶意软件,您可能无能为力。

关于javascript - Facebook Javascript SDK 安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43960666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com