php REST API验证元数据良好实践
我正在使用PHP5.4构建一个RESTAPI,并将其放入自己的自定义auth库中。我严格遵循2条腿的OAUTH使用的格式。(参考号:) 按照这个规范,我有一些元数据需要随每个请求一起发送,以便我可以安全地对用户进行身份验证php REST API验证元数据良好实践,php,api,rest,Php,Api,Rest,我正在使用PHP5.4构建一个RESTAPI,并将其放入自己的自定义auth库中。我严格遵循2条腿的OAUTH使用的格式。(参考号:) 按照这个规范,我有一些元数据需要随每个请求一起发送,以便我可以安全地对用户进行身份验证 AppId->这是为了验证谁在发送请求。还要知道使用哪个密钥生成HMAC校验和服务器端 时间戳->用于处理重播攻击 校验和->这是一个HMAC哈希,以确保请求未被篡改 初始身份验证后,AccessToken->将用于每个请求 我只是想知道发送所有这些元数据的最佳实践是什么 我
谢谢 不久前,我确实做了类似的事情。我编写了自己的API验证器作为Codeigniter库,并自动加载它,以便它检查通过的每个页面请求 我决定在每次请求时以自定义标题发送所有内容:
Auth-Token
Auth-Device
Auth-Timestamp
Auth-Hash
我不建议在GET参数中执行这些操作,因为这会使使用URL变得更麻烦,而且在这一点上它就不再是RESTful了
这就是说,我相信有些人会指出,您不应该创建自定义请求头,老实说,我相信在身份验证解决方案中应该如何使用头有一个标准实践。但是应用程序和API工作得很好,所以我很满意我的“呃,它工作”解决方案
还注意到,我们使用了SSL加密了头文件,防止了任何类型的嗅探或中间人攻击。p> 不久前,我确实做了类似的事情。我编写了自己的API验证器作为Codeigniter库,并自动加载它,以便它检查通过的每个页面请求
我决定在每次请求时以自定义标题发送所有内容:Auth-Token
Auth-Device
Auth-Timestamp
Auth-Hash
我不建议在GET参数中执行这些操作,因为这会使使用URL变得更麻烦,而且在这一点上它就不再是RESTful了
这就是说,我相信有些人会指出,您不应该创建自定义请求头,老实说,我相信在身份验证解决方案中应该如何使用头有一个标准实践。但是应用程序和API工作得很好,所以我很满意我的“呃,它工作”解决方案
还注意到,我们使用了SSL加密了头文件,防止了任何类型的嗅探或中间人攻击。p> 谢谢你的回复!我也会使用codeigniter。使用自定义标题有什么坏处吗?没有,但这里有一些事情需要考虑:这听起来很适合我的需要。我将继续这个实现。谢谢你的意见!谢谢你的回复!我也会使用codeigniter。使用自定义标题有什么坏处吗?没有,但这里有一些事情需要考虑:这听起来很适合我的需要。我将继续这个实现。谢谢你的意见!