2009-12-07 127 views
1

我想在php中创建一个网站,当用户登录到我的网站时,他们可以添加他们最喜欢的网站并输入其登录信息一次。我的网站将保存他在我数据库中的其他网站的登录信息,并且下次用户登录到我的网站时不需要再次将他的登录信息输入到其他方。我的网站会自动为他们做这件事。登录到多个网站只能通过登录一次在我的网站

我不确定这是否可行。由于我是一名PHP初学者。也将JavaScript的这个有用吗?

将此功能限制于某些固定网站可以做到这一点吗?

ANKUR

+1

我严重怀疑人们会希望为您网站上的其他网站留下他们的登录信息,除非您是公认的OpenID提供商或类似的东西。 – jeroen 2009-12-07 19:56:46

回答

5

假设网站是任意的第三方,那么这是不可能的(如果它不是那么请在使用服务的用户可能会被侵犯的大多数,他们使用你的网站的条款及条件通过共享密码进行访问)。

如果你控制的网站,那么关键短语搜索是

如果网站是那些购买到使用第三方认证,那么你想成为一个OpenID提供单点登录(stackoverflow是OpenID使用者,这就是为什么您可以使用(例如)您的Flickr照片页面URL登录)。

0

有几个解决方案。

一种是从您的服务器打开HTTP连接到第三方网站,并让您的服务器充当浏览器。这有效地将您的服务器转变为Web代理,但让您有机会在数据传递到客户端时对其进行处理。

另一种选择是通过用户名和URL信息返回给浏览器并打开通过JavaAscript这些连接,使用XmlHttpGet,jQuery的,产生新的窗户,直接命中该目标网站等

总之,有很多方法可以解决这个问题,因为他们有意见。

0

我认为你正在考虑让你的网站成为OpenId提供商。

对于其他网站同意使用您的网站作为id提供商,他们必须与您协作才能拥有一套通用的安全和身份验证措施。今天唯一广泛的协作是OpenId。例如,我使用我的Google OpenId登录到了这个网站。因此,谷歌是OpenId供应商,这个网站是OpenId消费者/从属。

我只知道用于Java,C#和Python的openid库。我不是PHP的粉丝,所以我不知道。但我知道你应该考虑成为一个开放的提供者,而且依赖的网站必须同意成为一个公开的从属消费者。

+1

当然也有PHP的OpenID库。我已经使用了它们,让它们工作时没有太多麻烦。虽然我不认为这是OP之后的真正意义......我想他只是想让它成为用户只能登录到他的网站,并且为了方便而在任何地方签名,而不是为他们提供另一种身份验证方法。这更适合作为Firefox附加组件IMO。 – mpen 2009-12-07 19:56:02