搜索

首页  >  问答  >  正文

php - 接口怎么能确定是自己的APP调用的及安全性?

1.接口使用一个key跟用户id md5加密。然后加密后的sign当参数传递(这样简单的加密方式安全吗?)。

2.那么问题来了,那如果用户的请求被抓到了,那不是别人也可以模拟请求。那如何知道请求是自己的APP发出的。
如果只是请求头上带了app信息,那其他人也可以模拟。

3.因为接口从app发出,用户只有抓本地包才能看到这些信息。现在用户被别人请求包的情况容易出现吗?

漂亮男人漂亮男人2759 天前663

全部回复(3)我来回复

  • ringa_lee

    ringa_lee2017-05-16 13:12:43

    1. 强烈建议使用ssl来保护web api的通信安全,自己实现也未尝不可,但是肯定是没有ssl安全这是一定的。你这种做法会被中间人监听,sign直接会被拿到利用。

    2. 可以模拟请求。如果对方都反编译了你的app,鉴权过程都了解了,那么是绝对可以模拟的。

    3. 在没有ssl保护的情况下http都是明文传输,这种情况不是只有本地才能监听到。如果使用ssl保护通信安全的话,可以保证不被中间人监听。关于是否容易出现那就看你这个app的价值了。

    推荐题主去了解下:中间人监听 重放攻击

    回复
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:12:43

    之前我看人家是这么做的,有个专门的接口获取key,key的有效期是2天。
    之后调所有的接口,token直接用key加上对应参数格式,进行md5加密。也就是说参数是不带任何key的。
    一般来说,包会请求很多次,参数都会有变化,token就会不一样。
    而且,就算拿到key,不知道对方的组装方式也白搭。

    回复
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:12:43

    可以试下Json Web Token

    回复
    0
  • 取消回复