收藏
回答

如何保证PHP通讯接口的安全性?

问题模块 框架类型 问题类型 终端类型 操作系统 微信版本 基础库版本
框架 小程序 Bug 客户端 6.6.6 2.0.0

因为目前小程序可以被人完全破解,直接看到request的通讯接口。

我是PHP做的后端,请教下大家PHP页面如何写代码,才能做到只允许小程序的服务器POST,而禁止其他人访问?

最后一次编辑于  2018-07-24
回答关注问题邀请回答
收藏

2 个回答

  • 金天
    金天
    2018-07-24

    但是Referer是可以伪造的,那是不是无解了呢?

    2018-07-24
    赞同
    回复 1
    • 李良山
      李良山
      2018-07-24

      拿到了他也改不了这个啊,这个是小程序自动生成的,除非用第三方的工具,但是你又可以匹配openid,第三方工具生成不了他在你上面的openid的

      2018-07-24
      回复
  • 李良山
    李良山
    2018-07-24

    你可以注意到小程序有个来源

    Referer:

    https://servicewechat.com/{自己的Appid}/devtools/page-frame.html

    可以取出来这个,然后不是自己的小程序直接什么都不输出


    2018-07-24
    赞同
    回复 5
    • 金天
      金天
      2018-07-24

      Appid不知道其他人是否可以有办法拿到?

      2018-07-24
      回复
    • 李良山
      李良山
      2018-07-24回复金天

      拿到了他也改不了这个啊,这个是小程序自动生成的,除非用第三方的工具,但是你又可以匹配openid,第三方工具生成不了他在你上面的openid的

      2018-07-24
      回复
    • 金天
      金天
      2018-07-24回复李良山

      我主要是不想让别人抓取request得到的数据,但是如果别人拿到了appid就可以通过伪造refer的方式来通过PHP对于refer的验证。我不太明白你提到的openid是哪里用到?

      2018-07-24
      回复
    • 李良山
      李良山
      2018-07-24回复金天

      要拿到appid去读取你的数据要不是修改开发工具,可能性不大,要不是用第三的工具如果postman,但是你可以先获取用户的openid,后面的数据通讯全校验openid存在不存在,虽然不能完全避免但是也要给他们制造些麻烦,如果每次传输全用code去换取更安全

      2018-07-24
      回复
    • 金天
      金天
      2018-07-24

      恩,明白你的意思了。如果能实现openid校验code这个办法肯定是最安全的。

      2018-07-24
      回复