Yac*_* S. 13 security facebook
我目前正在我的网站上首次实施Facebook登录,我对这是多么安全有疑问.
我已经有一个用户数据库,每个用户都有一个电子邮件地址,所以我真的需要检查一下我从Facebook获得的电子邮件地址是否已存在于我的数据库中,否则我会遇到一些问题.重复的用户.如果用户已经在场,我只需将Facebook中的数据合并到我网站上的现有帐户中,然后连接用户.否则,我为他创建一个帐户.
但事情是这样的:
Alice使用电子邮件地址alice@users.com在我的网站上进行连接,但Alice未在Facebook上注册该电子邮件地址
Bob使用Alice的电子邮件地址alice@users.com在Facebook上注册,并使用在任何电话号码上收到的短信来验证帐户(我检查过这是可能的,可以在不点击通过电子邮件收到的链接的情况下验证帐户).我同意将通过她的电子邮件地址通知Alice,但仍然可以.
Bob使用Facebook连接在我的网站上触发登录,同时使用Alice的电子邮件地址在Facebook上进行连接.
Bob的Facebook帐户已经激活并经过验证,我必须假设他已经在我的网站上有一个帐户,因为alice@users.com已经在我的数据库中,所以我连接他而不是Alice,他可以在Alice的帐户上使用我的网站.
=>我在几个网站上尝试过这种情况,只要我知道电子邮件地址,我就可以连接别人的帐户(我创建的假Facebook帐户;)).
有没有人知道如何预防这些情况?
Che*_*oft 10
如果Facebook确实不需要确认电子邮件然后充当openid风格的提供商,那么这是令人震惊的!但我想答案已经在你的问题中 - 不要链接/合并帐户.或者至少,如果没有先自己确认电子邮件,请不要通过Facebook登录尝试这样做.
您无法更改friendface的功能,因此您需要将facebook connect提供的电子邮件地址视为不受信任的数据.如果使用已在您的网站上拥有本机帐户的电子邮件进行Facebook连接登录尝试,请自行向他们发送电子邮件确认码 - 并执行facebook未能执行的操作.
另一种选择是,一旦用户登录到本机帐户,您可以允许他们从那里链接Facebook帐户,如果他们愿意的话.这也允许您为在两个站点上注册了不同电子邮件地址的用户支持facebook登录.
| 归档时间: |
|
| 查看次数: |
2582 次 |
| 最近记录: |