Php 在易读代码中发布只读Twitter OAuth consumer_密钥/机密有多危险?

Php 在易读代码中发布只读Twitter OAuth consumer_密钥/机密有多危险?,php,oauth,twitter,Php,Oauth,Twitter,序言:这与系统的工作原理以及当前实现中的缺陷非常接近,我也读过 我们正在开发一个Wordpress插件(PHP),它需要对用户帐户进行只读访问(访问status/home\u timeline API方法)。该插件将公开分发给用户使用,并且应尽可能易于安装,因此希望在插件代码中嵌入已有应用程序的应用程序密钥 我知道可以使用这些密钥开发另一个应用程序,但由于我们没有向帐户写入数据,因此当唯一的替代方案是要求插件的每个用户生成自己的应用程序时,风险必须足够大,足以让人担心 鉴于上述情况,我们的消费者

序言:这与系统的工作原理以及当前实现中的缺陷非常接近,我也读过

我们正在开发一个Wordpress插件(PHP),它需要对用户帐户进行只读访问(访问status/home\u timeline API方法)。该插件将公开分发给用户使用,并且应尽可能易于安装,因此希望在插件代码中嵌入已有应用程序的应用程序密钥

我知道可以使用这些密钥开发另一个应用程序,但由于我们没有向帐户写入数据,因此当唯一的替代方案是要求插件的每个用户生成自己的应用程序时,风险必须足够大,足以让人担心

鉴于上述情况,我们的消费者密钥/消费者秘密可以以何种方式使用,而不是按预期使用,以及可能的结果是什么(除了与Twitter相关的Smackdown)?一般而言

消费者令牌对本身是无用的,获得用户访问令牌对的唯一方法是让用户通过twitter.com上的授权流。用户在授权页面上看到的将是您的品牌,因此,如果源站页面显示为模仿您自己的品牌,用户将认为他们实际上是在让您访问他们的帐户,而不是源站的实际所有者。一旦第三方获得用户访问令牌对并且应用程序为只读,则可能会发生两种危险的操作。其中,所有私人信息,从他们的好友保护状态到他们的DMs,都可以通过API访问。第二,他们可以执行某种攻击并耗尽用户速率限制,使API对所有未列入白名单的第三方应用程序毫无用处

如果消费者代币被用于构建一个垃圾邮件场,这将极大地消耗Twitter的资源,那么他们可能会禁用或重置密钥。在这一点上,代码的所有副本都将停止工作,直到您获得一个新密钥并且所有人都更新到新版本

如果有任何不清楚的地方,请告诉我。

一般来说

消费者令牌对本身是无用的,获得用户访问令牌对的唯一方法是让用户通过twitter.com上的授权流。用户在授权页面上看到的将是您的品牌,因此,如果源站页面显示为模仿您自己的品牌,用户将认为他们实际上是在让您访问他们的帐户,而不是源站的实际所有者。一旦第三方获得用户访问令牌对并且应用程序为只读,则可能会发生两种危险的操作。其中,所有私人信息,从他们的好友保护状态到他们的DMs,都可以通过API访问。第二,他们可以执行某种攻击并耗尽用户速率限制,使API对所有未列入白名单的第三方应用程序毫无用处

如果消费者代币被用于构建一个垃圾邮件场,这将极大地消耗Twitter的资源,那么他们可能会禁用或重置密钥。在这一点上,代码的所有副本都将停止工作,直到您获得一个新密钥并且所有人都更新到新版本


如果有任何不清楚的地方,请告诉我。

我了解这些潜在情况。最后,我们选择了一个不同的场景(一个处理Twitter的中央服务器和一个瘦客户端插件)。不过,这是一个很好的答案,我知道这些潜在的情况。最后,我们选择了一个不同的场景(一个处理Twitter的中央服务器和一个瘦客户端插件)。不过,这是为子孙后代提供的一个很好的答案。