我们有iOS/android 的App,里面使用的一些基于Http的url接口访问数据。最近我们发现这个接口被其他人盗用了,我们现在已经做的防盗用方法是:
* 对url的参数进行sha1签名,和oauth类似,对所有参数排序,大写,然后用一个密钥进行签名,然后请求时附带这个签名;
* 在请求里增加了随机值,防止url被重复使用;
* 用于签名的密钥是在代码里的;
我们猜想他们应该是反编译了我们iOS或者android的代码,找到了密钥和签名方法,所以我们的签名方法已经没用了。
我们想下面改进的方法是:
* 使用https;
* 对签名方法进行改造,在sha1后的字符串,再用自己的方法修改里面字符的排序;
* 用c来写这个签名方法,包括密钥等,然后编译成静态库,iOS/android中来使用这个静态库;
以上只是我们想出来的解决方法,我们在这方面没有啥经验啊,不知道这些做法是否真的有效,或者有没有大幅增加破解的难度呢,也想问问大家有没有其他解决方案啊?
* 对url的参数进行sha1签名,和oauth类似,对所有参数排序,大写,然后用一个密钥进行签名,然后请求时附带这个签名;
* 在请求里增加了随机值,防止url被重复使用;
* 用于签名的密钥是在代码里的;
我们猜想他们应该是反编译了我们iOS或者android的代码,找到了密钥和签名方法,所以我们的签名方法已经没用了。
我们想下面改进的方法是:
* 使用https;
* 对签名方法进行改造,在sha1后的字符串,再用自己的方法修改里面字符的排序;
* 用c来写这个签名方法,包括密钥等,然后编译成静态库,iOS/android中来使用这个静态库;
以上只是我们想出来的解决方法,我们在这方面没有啥经验啊,不知道这些做法是否真的有效,或者有没有大幅增加破解的难度呢,也想问问大家有没有其他解决方案啊?