我正在为第三方应用开发sdk以供使用,我需要验证来自我服务器上的sdk的请求。
现在我通过在sdk中对私有密码进行硬编码来解决这个问题,然后sdk使用这个秘密来散列(md5)其请求参数作为一个符号,该符号与其他参数一起发送到服务器。然后,服务器可以检查签名,看看它是否由正确的私人秘密签名,因此,我开发了sdk。
问题是:
感谢。
答案 0 :(得分:1)
如果您试图阻止第三方使用自己的软件而不是您提供的软件,it's not possible。
您需要确保API提供安全功能,并且不依赖SDK中的控件。例如,不要通过API公开敏感数据,而SDK根本没有要调用的命令;在服务器端使用速率限制而不仅仅是在SDK;这与网站和客户端javascript产生的情况相同:您根本不能信任客户端脚本的完整性,并确保您的网站无论如何都是安全的。
限制API使用的正常方式是双重的: