使用HMAC_SHA1和用户密码对请求进行签名怎么样?例如,您的URL:
http://domain.com/api.php?api_option=list&api_user_name=USERNAME&api_user_password=PASSWORD
添加时间戳和/或随机字符串(随机数)并构建标准化的base_string:
$base_string = "api_option=list&api_user_name=USERNAME×tamp=1296875073&nonce=hgg65JHFj";$signature = hmac_sha1($base_string, PASSWORD);
那么新的URL将是:http
:
//domain.com/api.php?api_option=list&api_user_name=USERNAME×tamp=1296875073&nonce=hgg65JHFj&signature=kfvyhgfytgyr6576yfgu
服务器要做的是获取除签名之外的所有选项,然后使用相同的方法生成签名,并将其与客户端发送的签名进行比较,客户端签名应该相同。



