PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-为Web应用程序分发和使用API​​密钥大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个Web应用程序,正在为其构建一个Drupal模块,该模块允许我的客户访问我的应用程序上的某些数据.

我打算将秘密的API密钥分发给需要在其Drupal模块副本中输入该值的客户.然后,这个Drupal模块与我的Web应用程序进行对话,但是我需要确保POST请求确实来自该来源.

如何使用此“秘密密钥”传递一些信息,以便当我的应用程序收到它时,它将知道:

(a) its from that client's server.
(b) it hasnt been eavesdropped on / copied and used by someone else?

我是否应该使用此API密钥作为密码来加密一些与POST请求其余部分匹配的数据?接收到它后,我会使用其API密钥的副本对其进行解密,如果它与其余数据匹配,我认为它已通过验证?

有没有适合我的框架? Zend内有东西吗?

解决方法:

使用httpS并仅在请求中发送API密钥.就这么简单.

如果您使用http,那么您将重新发明轮子.

更新:

这是阅读评论后的更新,因为在这个问题中您没有解释要向网站访问者提供API密钥(在这种情况下,无论您做什么都将被搞砸).

juanpaco的评论解释了怎么做(以及我最初认为您正在做的事情),但是我将尝试更详细地解释它.

最重要的是,您不要在Web表单中使用API​​密钥. API密钥仅用于客户服务器和API服务器之间的通信.

这是一个简化的解释:

>您给客户一个密钥和一些要在其服务器上安装的软件/模块/库.
>访客访问客户的网站时,他会看到由模块@L_262_11@的一些HTML,其中不包含任何API密钥,并且只能与客户的服务器通信(如果涉及任何敏感信息或用户帐户,则可以使用httpS进行通信).
>客户服务器上的模块从访问者那里获取请求.
>您的模块使用API​​密钥(带有httpS)连接到服务器.
>您的API服务器响应客户的服务器.
>客户的服务器响应访客.

您的API密钥永远不会以明文形式发送,也永远不会提供给网站访问者.

这是使用API​​密钥的唯一合理方法,在我首先阅读您的问题之后,我假设您担心在服务器与客户服务器之间发送API密钥的安全性.

如果您的客户将其密钥提供给其网站的每个访问者,那么这些访问者将始终能够知道它们,无论您尝试如何努力.提供访问者API密钥并使其可以使用但无法读取将是不可能的.不难-不可能.无论使用哪种协议,加密或任何使用方式.

(感谢juanpaco将这个旧答案提请我注意.)

大佬总结

以上是大佬教程为你收集整理的php-为Web应用程序分发和使用API​​密钥全部内容,希望文章能够帮你解决php-为Web应用程序分发和使用API​​密钥所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: