代码之家  ›  专栏  ›  技术社区  ›  zigdon

OpenID提供者-什么阻止恶意提供者?

  •  16
  • zigdon  · 技术社区  · 17 年前

    所以我喜欢OpenID的想法。我在我的网站上支持它,并尽可能地使用它(就像这里!)但有一件事我不清楚。

    支持OpenID的站点基本上接受任何OpenID提供者,对吗?对于那些希望减少机器人注册的站点,这是如何工作的?如何阻止恶意OpenID提供者自动设置无限制的机器人程序ID?

    我有一些想法,会把它们作为可能的答案贴出来,但我想知道是否有人能看到我错过的明显的东西?

    6 回复  |  直到 17 年前
        1
  •  13
  •   Jim os x nerd    11 年前

    你混淆了两个不同的东西——身份和授权。仅仅因为你知道某人是谁,并不意味着你必须自动给予他们做任何事情的许可。西蒙·威利森很好地解释了这一点。 An OpenID is not an account! 有关白名单的更多讨论,请访问 Social whitelisting with OpenID .

        2
  •  9
  •   Benjamin Pollack Stefan Rusek    17 年前

    对您的问题的简短回答是,“它不是”。OpenID故意提供了一种拥有集中身份验证站点的机制;由您决定您个人认为可接受的OpenID提供者。例如,微软 recently decided to allow OpenID on its Healthvault site only from a select few providers . 一家公司可能决定只允许从其支持LDAP的访问点登录OpenID,一个政府机构可能只接受来自生物特征支持站点的OpenID,而一个博客可能只接受TypePad,因为他们对垃圾邮件进行了严格的审查。

    对于OpenID似乎有很多困惑。它最初的目标只是提供一个标准的登录机制,这样当我需要一个安全的登录机制时,我可以从任何或所有OpenID提供者中选择一个来为我处理这个问题。允许任何人在任何地方设置自己的受信任OpenID 供应商 从来都不是目标。毕竟,有效地执行第二个是不可能的,即使使用加密,也没有理由不能设置自己的提供者来安全地说谎,并说它正在验证您想要的任何人。拥有一个单一的、标准化的登录机制本身就是向前迈出的一大步。

        3
  •  3
  •   Will    17 年前

    OpenID只不过是用户在注册站点时选择的用户名和密码。您不需要依赖OpenID框架来清除机器人程序;您的注册系统仍然应该这样做。

        4
  •  2
  •   zigdon    17 年前

    可能的解决方案-您仍然可以要求新的ID通过验证码测试。就像机器人程序可以向任何站点注册假/多个电子邮件地址一样,但也不能通过“验证”步骤。

    或者我们必须开始维护提供商黑名单?考虑到建立一个新的供应商是多么的简单,这些都不会很好地工作。

        5
  •  2
  •   DGM    17 年前

    据我所知,openid地址只是标识,而不是授权。停止机器人程序是一个授权问题。

        6
  •  2
  •   tialaramex    17 年前

    注意,与传统的“每站点”登录不同,OpenID为您提供了一个可能超越单个站点的身份。更好的是,这个标识甚至是一个URI,因此它非常适合与RDF一起使用来交换或查询关于该标识的任意元数据。

    你可以用OpenID做一些你不能用新用户的常规用户名做的事情。

    首先,您可以执行一些简单的白名单操作。如果*.big corp.example是来自大公司员工的OpenID,并且您知道大公司不是垃圾邮件发送者,那么您可以将这些OpenID白名单。对于半封闭的网站来说,这应该是很好的选择,也许这是一个面向现在和过去员工的社交网站。

    更好的是,您可以从其他使用特定OpenID的地方进行推断。假设您有一个openid到stackoverflow.com信誉值的映射。当有人使用OpenID出现在您的Web论坛上时,您可以看到他们在StackOverflow上是否有良好的声誉,并跳过这些用户的验证码或试用期。