【发布时间】:2014-07-21 18:08:34
【问题描述】:
我是 API 开发的新手,但通过阅读我能找到的所有文章,我成功地实现了 Phil Sturgeon 和 Chris Kacerguis 的 CI REST Server,但我无法回答以下问题:@987654321 @ 和How can I generate an API Key in My own Controller in Codeigniter。
我已按照第一个问题的已接受答案中的建议将“boguskey”添加到数据库中,但我对这里的安全性感到困惑。如果我需要一个硬编码的 API 密钥来生成新密钥,并且有人可以查看标题以查看这个伪造的 API 密钥,那么我如何保护我的 API,然后从使用这个 API 密钥生成大量 API 密钥的人那里得到保护在我的 API 中为我们服务?如果我不添加 boguskey,那么无论我调用哪个函数,我都会收到“无效的 API 密钥”。
如果这是一个愚蠢的问题,我深表歉意,但如果有人能举例说明我如何安全地生成密钥(或者如果我误解了情况,至少告诉我),我将不胜感激。
【问题讨论】:
-
这里有人知道吗?我所做的任何研究都没有向我展示我可以使用的东西。我真的希望在这里得到一些反馈。提前致谢!
-
你的假密钥是否有足够的权限来使用你的 api 的 http 路径?密钥的“级别”需要至少或更高的权限才能使用结束路径。 GETS 可能有一个低级别,1,其中 PUTS、POSTS 和 DELETES 将具有不同的密钥,具有更高级别的访问权限,可能是 10。
-
嗨@Withremote。权限不是这里的问题。问题是伪造的密钥在标题中清晰可见,所以我害怕人们会滥用我的 API 来创建新帐户。但我仍然没有答案 - 除了可能使用非常低的限制。
-
@KobusMyburgh 你解决问题了吗?如果是,如何?我面临同样的问题。我正在进行 ajax 调用以生成密钥,但要执行该操作,我需要传递管理员密钥,然后所有人都可以看到该密钥。如何安全地创建或暂停密钥?
-
@HardiksinhGohil 很遗憾没有,抱歉。我不得不制定另一个计划。
标签: php api codeigniter rest