如何验证我的API用户

时间:2009-08-14 02:49:55

标签: php mysql api authentication encryption

我共同拥有的网站已被要求我们向我们的网站添加一些内容,这对我们来说是一个很好的广告。问题在于,由于我们公司的性质,我们必须非常小心谁可以访问我们的网站。 (我们将标签的音乐分发给广播电台)

到目前为止?

所以我开始了内容的新页面。我想我想要一些带有调用站点名称的散列字符串,我们网站的密钥以及日期,加密并包含在从调用站点发送的查询字符串或cookie中。目标是防止从其他站点调用它(它们的站点也受到密码保护),包括DNS欺骗以欺骗我的站点认为它是从该站点请求的。

所以我认为这是一个很好的解决方案。

  1. 是吗?如果没有,我该怎么办呢?
  2. 我是怎么做到的?我想我会在他们的网站上调用一个iFrame内的API,其中source作为我的网站和带有查询字符串的页面,但我应该如何获得调用站点URL?我应该用什么来加密查询字符串键?

2 个答案:

答案 0 :(得分:1)

我建议使用公钥加密。对于每个用户,生成您发送的公钥和记录的私钥。

他们应该加密当前时间以及其他自我识别信息,如IP地址。然后,当您收到握手时,您可以使用私钥对其进行解密,然后验证时间不会太远,IP地址是否正确等。

答案 1 :(得分:0)

您可以要求SSL连接并从您的服务器分发您需要客户端验证其身份的证书。这将是最简单的方法。

修改

我发现我不确定你是否担心某人试图使用其他人的帐户,或者你的服务是否应该以域名为基础付费。

你真的无法防范后者,因为任何有足够决心的人都可以在有效的环境中创建自己的API与你的接口,并从他们希望传播信息的任何其他网站调用它。