收藏
回答

开发者社区是如何防止接口被外部调用的呢?


就比如这段https://developers.weixin.qq.com/community/ngi/privatemsg/session/list?unread=true&random=0.4572498006740031&token=708081247,我把它粘贴到浏览器里访问得到的是非法请求.我搜索了一下,这种好像是token机制的,但找到的文章说到该方式是由服务器生成一个token给客户端,客户端根据token生成签名发给服务器验证.可JS的代码是透明的,在JS里做签名是不安全的呀,想知道开发者社区用了什么技术,希望大佬解答.

最后一次编辑于  2019-10-15
回答关注问题邀请回答
收藏

1 个回答

  • 卢霄霄
    卢霄霄
    2019-10-15

    header里有个属性是cookie,里面有些身份认证信息。这个cookie一般是登录接口返回你的。

    2019-10-15
    赞同 1
    回复 8
    • 原初魔鬼
      原初魔鬼
      2019-10-15
      我把header里的cookie复制粘贴了一下,成功调用了.那这个机制岂不是吓唬人的,我这样的初学者都可以破解.
      2019-10-15
      回复
    • 卢霄霄
      卢霄霄
      2019-10-15回复原初魔鬼
      ???你破解了啥?这个cookie是你登录产生的,你当然可以调用。。你“破解”之后打算做啥呢?
      2019-10-15
      1
      回复
    • 原初魔鬼
      原初魔鬼
      2019-10-15回复卢霄霄
      emm,我表述有点错误,sorry.我的意思是,这样我不就可以去调用开发者社区的接口去爬它的文章了吗?我是想实现接口只能给合法用户调用,防止别人把数据都爬走.还是说,只要接口放到了浏览器里,注定是不能防止外部调用的,如果不想让接口被别人调用,必须要放到自己做的客户端里,比如APP?
      2019-10-15
      回复
    • 卢霄霄
      卢霄霄
      2019-10-15回复原初魔鬼
      你调用就调用呗,肯定还有其他机制。。比如你1分钟调用了几千次。。然后你的IP可能会被封。。或者这个cookie的来源微信号可能被封。。APP里也可以抓包啊
      2019-10-15
      1
      回复
    • 原初魔鬼
      原初魔鬼
      2019-10-15回复卢霄霄
      APP可以用RSA加密嘛,不过APP好像也可以反编译,人家也能拿到你的公钥.归根结底,完全防止非法调用接口是不可能的,还要从IP,次数之类的来防范对吧.谢谢大神解答
      2019-10-15
      回复
    查看更多(3)
登录 后发表内容
问题标签