这是2013年12月16日通过https://www.Facebook.com/whitehat/report/向Facebook报告的,而Facebook在12月17日回应称,该漏洞早已修复。
我已经用我的Facebook帐户重新测试了(我仍然没有验证电子邮件地址),当使用Grap API资源管理器工具时,不可能使用Graph API或使用FQL查询获得该帐户的电子邮件地址。
结论:使用Graph API或FQL查询从Facebook获得的电子邮件地址是经过验证的电子邮件。如果一个帐户没有验证它的电子邮件,但它不可能得到它。
我正在用SSO制作一个web应用程序,它提供用户可以登录谷歌或Facebook。我希望拥有这两种类型帐户的用户在我的系统中显示为同一个用户,而不管他们用哪个身份登录。为了实现这一点,我正在考虑使用电子邮件地址作为标识符,以了解我是否应该创建一个新帐户,或者用户是否已经存在。
为了不引入任何安全问题,我必须知道电子邮件地址是经过验证的,实际上属于用户。对于Google来说,userinfo API可以告诉我电子邮件是否被验证,所以这里没有问题。但我在Facebook Graph API中找不到类似的东西。
有没有可能知道一个电子邮件地址在Facebook上被确认了?
我知道有一个verified
字段,但它只告诉帐户是否被验证,而不告诉电子邮件地址。
起初,您似乎只能对电子邮件地址已经确认的帐户使用Graph API。如果地址没有被确认,我只是得到一个错误告诉我,我必须先确认电子邮件地址,然后才能登录到任何第三方站点。
然而,这似乎并不是所有的帐户都是正确的。在某些情况下,即使你没有确认的电子邮件地址,也可以访问Facebook的所有部分。其中的一个例子是使用@myopera.com邮件地址注册。
当您使用@myopera.com电子邮件地址注册Facebook时,您一提交注册表单就会收到您的帐户被临时锁定的消息。要继续,您需要提供您的电话号码来验证您的帐户,并“保持Facebook的安全和没有垃圾邮件”(抱歉截图中的瑞典人,这是在我进入Facebook并将语言改为英语之前):
当你提供了你的电话号码,你就已经登录了,Facebook不会再唠叨你必须验证你的电子邮件地址。
唯一可以看到您的电子邮件地址尚未验证的地方是在设置页面:
在验证电子邮件地址可用之前,通常无法访问移动设置,并列出注册期间输入的电话号码:
除此之外,还可以使用未经确认的电子邮件地址登录第三方站点:
当我与该用户连接到graph api时,我可以获得未确认的电子邮件地址,verified
字段按预期返回true,因为我已经通过添加电话号码验证了该帐户。所以显然我不能相信我从Facebook得到的电子邮件地址真的属于拥有Facebook帐户的用户。
是否有其他方法知道电子邮件地址是否已验证,或者如果我想使用它来识别用户,我必须亲自验证它吗?
我在找Facebook关于这个问题的官方声明,最后找到了:https://developers.Facebook.com/docs/facebook-login/multiple-provider#postfb1,它明确表示开发者不应该依赖电子邮件地址被验证的事实。
问题内容: 我已经在我的网站中使用Express JS和Passport-Facebook实现了Facebook- LogIn。它运作良好(我得到了现场资料),但是问题是我没有收到电子邮件。我收到一个错误: TypeError:无法读取未定义的属性“ 0” 我的代码: 如果有人可以帮助我解决我的问题,那就太好了:) 问题答案: 我有同样的问题。我们有10位测试用户,所有10位用户的电子邮件地址都与
问题内容: 我正在使用 com.sun.mail.smtp.SMTPTransport 通过Java发送电子邮件。 我可以成功发送电子邮件,但是如果我将邮件发送到无效的电子邮件地址,则 SMTPTransport 不会出现任何错误。 有没有办法检查给定的邮件地址是否存在? 我的意思不是要检查 客户端 的邮件地址,我需要检查 服务器端的地址 。 我在许多论坛上都发现了许多类似的问题,但是我没有任何适
问题内容: 如果地理位置下降,我需要JavaScript显示手动输入。 我尝试过的 两者均未描述用户以前是否拒绝访问地理位置。 问题答案: 和两个接受时出现错误时被调用的第二回调。错误回调为错误对象提供了一个参数。对于拒绝的权限,将为(数值)。 例: 编辑:正如@Ian Devlin指出的那样,Firefox(本文发布时为4.0.1)似乎不支持此行为。它将按预期在Chrome和 可能 Safari
问题内容: 我知道你可以打电话 如果它不是可执行文件,则会得到一个异常,但这是不安全的,因为运行可执行文件会产生副作用。 我想只检查扩展名在Windows上就足够了,但是有没有办法我可以读取* nix文件系统上的可执行文件呢? 找出文件在OS中是否可执行的最佳方法是什么? 问题答案: 参见java.io.File.canExecute()
系统: ios 不发布到线上, 只是本存在本地的html文件, 通过PC微信发到手机微信上, 那么在手机端应该如何解析这个html文件? 如果这个html里面引入了外部的css和js, 那么可能就不单单只是一个html文件了, 传到微信的就可能是一个压缩包, 这种情况下还能解析码?
我最近读到了这篇关于为一组已知的键生成一个最小完美哈希表的文章:Throw away the Keys:Easy,Minimal Perfect Hashing。 本文似乎假设您需要一个中间表。如果我们假设键的集合很小(即<64),那么有没有其他更简单的方法来生成这样的函数。 在我的例子中,我希望将一组线程ID:s映射到数组中的唯一数据块。线程在哈希函数生成之前启动,并且在程序运行期间保持不变。线