标题可能写的不是太明白,是这样的
我有一个网站,是一个社区论坛,C+PHP+MYSQL开发的
我们自己开发了一套自己的客户端,有注册,登陆,看帖,发帖,回帖等功能
但是后来发现网上有很多第三方的客户端,不知道是谁开发的,也可以实现对我们网站数据的访问,也就是可以看帖,回帖,发帖,登陆,不能注册
我一直就弄不明白,这到底是怎么实现的,如何可以防止!

解决方案 »

  1.   

    app接口被暴露了?
      

  2.   

    1.怎么实现的
    通过数据包拦截工具(fiddler、wireshark等等)分析网站或APP的请求,很容易找到接口。你的接口参数命名越准确、结构越清晰,分析的效率越高。当你有心去做这个事的时候,会发现门槛很低
    2.如何可以防止
    很难,如果你有网页版,所有的接口使用方法和加密/签名算法都暴露在js代码中,基本没戏。如果只有APP,可以做一个签名程序,对当前参数+内置密码拼一起做个MD5,这样别人即使分析出了接口规则也无法自由使用。有高手也可以反编译apk去找你的签名代码,应对这种情况饿了么是用C写的二进制包签名程序给JAVA调用,如果有懂汇编的高手照样防不住。
    如果没有利益损失,不建议去做防护,投入产出比很低,我对这个问题也比较感兴趣,看看有没有好主意
      

  3.   

    有一点我没说明白,我们的app其实是后开发的,早在我们开发app之前,就有很多第三方的app可以访问我们网站的数据了