微信云托管-违法违规内容检查(security.msgSecCheck)

2023-10-07 00:59

本文主要是介绍微信云托管-违法违规内容检查(security.msgSecCheck),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前段时间,微信小程序收到信息提醒,要对用户输入的内容进行检查。而实现这功能需要一台服务器或者使用云开发。经过一轮考虑后,但最终选择微信云托管。
在这里插入图片描述

选择微信云托管的原因

  • 天然鉴权
    微信私有协议自动获取 OpenID、UnionID 等登录态信息;无需维护 access_token 与证书,免鉴权调用微信开放接口;
  • 资源复用
    很多业务情况下,我们需要在多个小程序或公众号中提供统一的后端服务;微信云托管目前支持将一个「小程序/小游戏/公众号」的云托管环境共享给同主体的其他「小程序/小游戏/公众号」。 设置资源复用时,被复用方不需要也开通微信云托管。即从理论上来说,同一个主体的多个小程序/公众号,只需开通一个云托管即可,避免创建过多帐号。
    另外需要注意在小程序端,通过 wx.cloud.callContainer 向你的云托管服务发起请求时,你的服务会在 header 中获得该请求用户的全部信息。
    在这里插入图片描述

云托管环境

小编用的是thinkphp-apache。因为小编是在Windows上开发的,为了方便调试,所以只能舍弃thinphp-nginx,选择thinkphp-apache。但是不可否认,thinkphp-nginx在性能上比thinkphp-apache好。感觉php越来越不行了,或许Python的Django 也是一个不错的选择。

请求web服务器工具的选择

只能使用Guzzlehttp,不能使用curl。因为需要把传输的数据放到body里面,curl没这功能。
补充:guzzlehttp安装命令如下
composer require guzzlehttp/guzzle

核心代码

后端php代码如下,另外需要注意下,敏感内容检查的情景(scene)建议选择“2-评论”。因为这个检查范围最广泛。

use GuzzleHttp\Client;$content = Request::param('content/s', '');
$reuse = Request::param('reuse/b', false);
if ($reuse == true) {// 资源复用的情况$url = 'http://api.weixin.qq.com/wxa/msg_sec_check?from_appid=' . Request::header('x-wx-from-appid');$openid = Request::header('x-wx-from-openid');
} else {$url = 'http://api.weixin.qq.com/wxa/msg_sec_check';$openid = Request::header('x-wx-openid');
}
$http = new Client();
$response = $http->post($url, ['body' => json_encode(['content' => $content,'version' => 2,'openid' => $openid,'scene' => 2], JSON_UNESCAPED_UNICODE),
]);
$apiResult = json_decode($response->getBody());

微信小程序代码

// 资源复用情况下,调用
const c1 = new wx.cloud.Cloud({resourceAppid: 'xxxxxxxxx',resourceEnv: 'prod-xxxxxxxxx',
})
await c1.init()
const res = await c1.callContainer({"config": {"env": "prod-xxxxxxxx"},"path": "/api/msgcheck","header": {"X-WX-SERVICE": "thinkphp-apache-xxxx","content-type": "application/json"},"method": "POST","data": { content: this.data.valueAdd, reuse: true }
})

配置接口

使用云托管需要配置接口,接口名如下: /wxa/msg_sec_check
在这里插入图片描述

吐槽一下

为了减少运营成本,在微信云托管里是可以设计成没流量就自动注销服务器了。而当有流量后又自动开启。而开启需要20秒的时间。这会导致敏感内容检查失败。。。

这篇关于微信云托管-违法违规内容检查(security.msgSecCheck)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/155092

相关文章

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us