Php 如何对API的用户进行身份验证
我共同拥有的一个网站要求我们为我们的网站添加一些内容,这对我们来说是很好的广告。问题是,由于我们公司的性质,我们必须非常小心谁可以访问我们的网站。(我们向广播电台分发标签音乐) 跟踪到目前为止 因此,我已经开始了内容的新页面。我想我需要一个带有调用站点名称的哈希字符串,一个我们站点的密钥,可能还有日期,加密并包含在从调用站点发送的查询字符串或cookie中。我们的目标是防止从其他站点(他们的站点也有密码保护)调用此功能,包括DNS欺骗,以欺骗我的站点认为它是从该站点请求的 所以我认为这是一个很好的解决方案Php 如何对API的用户进行身份验证,php,mysql,api,authentication,encryption,Php,Mysql,Api,Authentication,Encryption,我共同拥有的一个网站要求我们为我们的网站添加一些内容,这对我们来说是很好的广告。问题是,由于我们公司的性质,我们必须非常小心谁可以访问我们的网站。(我们向广播电台分发标签音乐) 跟踪到目前为止 因此,我已经开始了内容的新页面。我想我需要一个带有调用站点名称的哈希字符串,一个我们站点的密钥,可能还有日期,加密并包含在从调用站点发送的查询字符串或cookie中。我们的目标是防止从其他站点(他们的站点也有密码保护)调用此功能,包括DNS欺骗,以欺骗我的站点认为它是从该站点请求的 所以我认为这是一个很好
您可以要求SSL连接并从服务器分发证书,以要求客户端使用这些证书来验证其身份。这将是最简单的方法 编辑 我突然想到,我不确定您是否担心有人试图使用其他人的帐户,或者您的服务是否应该按域付费
你真的无法抵御后者,因为任何有足够决心的人都可以简单地创建自己的API,在有效的上下文中与你的API交互,并从他们希望将信息传播到的任何其他站点调用它。我建议使用公钥加密。为每个用户生成一个您发送给他们的公钥,并为您的记录生成一个私钥 他们应该加密当前时间以及其他自识别信息,如IP地址。然后,当您收到握手时,您可以使用私钥对其进行解密,然后验证时间是否过远、IP地址是否正确等