基于PHP的文本安全审核教程附加案例源码

该教程展示了如何使用PHP创建一个接口,接收到小程序提交的文本后,通过微信官方接口进行安全审核,再将结果返回给小程序。主要涉及步骤包括获取access_token,调用微信的msg_sec_check接口进行内容检测,并将响应结果以JSON格式返回。
摘要由CSDN通过智能技术生成

这是一位粉丝需要的教程,主要功能就是通过PHP实现小程序接入文本安全审核。逻辑很简单,就是小程序端将需要检测的文本提交给云端,本例云端为一个PHP接口,然后这个接口将文本使用官方的接口进行检测,最后将检测结果返回给小程序端,小程序端再通过返回结果判断文本是否违规。

小程序端的代码很简单,这里附一个简单的DEMO:

wx.request({
  url: '域名/textCheck.php',
  method:"POST",
  data:{
    contnet:this.data.contnet //需要检测的文本
    },
  success:res=>{
    console.log(res)
    //根据返回值进行后续开发
   }
})

这里采用的是POST提交,其中textCheck.php就是我们需要写的PHP检测文本,以下是一个简单的案例,可以直接使用,不过推荐进行进一步的封装或是安全性操作。

// 定义小程序AppID和AppSecret
$appid = 'YOUR_APPID';
$appsecret = 'YOUR_APPSECRET';


// 获取POST请求的文本
$content = $_POST['content'];


// 获取access_token
function getAccessToken($appid, $appsecret) {
    // 构建access_token请求URL
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";


    // 发送请求,获取access_token
    $result = sendRequest($url);
    $access_token = json_decode($result, true)['access_token'];


    return $access_token;
}


// 文本内容检测
function textCheck($access_token, $content) {
    // 构建检测请求URL和格式化数据
    $url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token={$access_token}";
    $data = json_encode(array('content' => $content), JSON_UNESCAPED_UNICODE);


    // 发送请求,获取检测结果
    $result = sendRequest($url, $data);


    // 解析返回值,提取审核结果
    $result = json_decode($result, true);


    return $result;
}


// 封装HTTP请求
function sendRequest($url, $data = null) {
    $ch = curl_init();


    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);


    $result = curl_exec($ch);
    curl_close($ch);


    return $result;
}


// 响应JSON格式数据
function responseJson($status, $result) {
    header('Content-Type: application/json');
    $data = array(
        'status' => $status,
        'result' => $result,
    );
    return json_encode($data);
}


// API函数
function checkApi($content) {
    // 检查请求方法是否为POST
    if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
        return responseJson('error', '必须使用POST请求');
    }
    // 获取访问令牌
    $access_token = getAccessToken($appid, $appsecret);
    // 文本内容检测
    $result = textCheck($access_token, $content);
    return responseJson('success', $result);
}




//执行检测
echo checkApi($content);

上面的代码为一个简单的案例,并做了一些简单的封装,注释也比较清楚,应该很容易理解的,在最上方定义小程序AppID和AppSecret,然后通过POST请求文件进行检测。返回结果如下:

6b6c7bec5b56f54b2eb92a36f72eecdf.png

这里我没有填写appid和密钥所以出错了,填上后就会返回正确的检测结果。

如果有其他问题可以直接留言,我会抽空为大家解决的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

袁代码

如果帮助了你,不妨也帮助我一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值