收藏
回答

微信小程序访问公网IP时如何限制仅供微信小程序访问?

AppID
wx9046d75b2c4a9f81

应用场景:

微信小程序访问服务器端的数据库获取数据,需要在服务器端开放一个公网IP和端口供小程序访问,为了数据安全,想对该公网IP和端口的访问权限进行限制,最好能限制为仅供微信小程序访问,因此就需要知道微信小程序的IP地址,最好是固定IP地址,该如何实现这个诉求?

回答关注问题邀请回答
收藏

2 个回答

  • 朱赛18210821611
    朱赛18210821611
    2025-09-08

    1.具体接口调用方式如下:

        wx.request({
          url: `http://127.0.0.1:8080/certificate?${queryParams}`,
          method: 'GET',
          success: (res) => {
            const data = res.data;
    
    
            // 检查是否为错误消息
            if (typeof data === 'string') {
              if (data === '未在数据库中查询到对应信息') {
                this.setData({
                  result: null,
                  noResult: true,
                });
              } else {
                wx.showToast({
                  title: data,
                  icon: 'none',
                });
              }
              return;
            }
    
    
            // 处理成功返回的数据
            if (Array.isArray(data) && data.length > 0) {
              const cert = data[0];
              this.setData({
                result: {
                  name: cert.name,
                  certNumber: cert.certNumber,
                  issueDate: cert.issueDate,
                  courseName: cert.courseName,
                },
                noResult: false,
              });
            } else {
              this.setData({
                result: null,
                noResult: true,
              });
            }
          },
          fail: () => {
            wx.showToast({
              title: '连接失败,请检查网络或后端服务',
              icon: 'none',
            });
          },
          complete: () => {
            this.setData({ isLoading: false });
          }
        });
    

    2.服务器收到请求的完整请求头信息

    CertificatesCheck.ts:103 GET http://127.0.0.1:8080/certificate?name=%E5%BC%A0%E4%B8%89&certNumber=123&issueDate=2018-08-10 404 (Not Found)
    queryCertificate @ CertificatesCheck.ts:103
    CertificatesCheck.ts:103 GET http://127.0.0.1:8080/certificate?name=%E5%BC%A0%E4%B8%89&certNumber=123&issueDate=2018-08-10 404 (Not Found)
    queryCertificate @ CertificatesCheck.ts:103
    CertificatesCheck.ts:103 GET http://127.0.0.1:8080/certificate?name=%E5%BC%A0%E4%B8%89&certNumber=123&issueDate=2018-08-10 404 (Not Found)
    queryCertificate @ CertificatesCheck.ts:103
    CertificatesCheck.ts:103 GET http://127.0.0.1:8080/certificate?name=%E5%BC%A0%E4%B8%89&certNumber=123&issueDate=2018-08-10 404 (Not Found)
    queryCertificate @ CertificatesCheck.ts:103
    [worker] reportRealtimeAction:fail not support
    
    2025-09-08
    有用
    回复
  • 智能回答 智能回答 本次回答由AI生成
    2025-09-08
    有用
    回复
登录 后发表内容
问题标签