当前位置:   article > 正文

PHP 关于微信小程序安全检测一直返回OK的解决_微信小程序安全测试

微信小程序安全测试

这里写自定义目录标题

问题

最近遇到小程序开发,发布文章时要先通过安全检测的问题,虽然调用了微信提供的接口,但是一直返回的是ok的问题:

{
	errcode: 0
	errmsg: "ok"
}
  • 1
  • 2
  • 3
  • 4

解决

1、先在小程序的"开发管理" => “安全中心”=>"内容风控"中添加所需要的关键字。

在这里插入图片描述

2、后端代码

 	// 发请求的方法
    public function https_curl_json($url,$data,$type)
    {
        if($type=='json'){
            $headers = array("Content-type: application/json;charset=UTF-8","Accept: application/json","Cache-Control: no-cache", "Pragma: no-cache");
        }
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        if (!empty($data)){
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS,$data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers );
        $output = curl_exec($curl);
        if (curl_errno($curl)) {
            echo 'Errno'.curl_error($curl);//捕抓异常
        }
        curl_close($curl);
        return $output;
    }
    // 处理前端传递文字的方法
    public function safeRequest()
    {
        $token = $this->getAccessToken(); // 这里是获取小程序的token
        $content = $this->request->request("content"); // 这里的内容为需要检测的内容
        $openid = $this->request->request("openid"); // 这里的openid为用户在当前小程序的openid
        $data = json_encode(array(
            'content' => $content,
            'scene' => 4, //
            'version' => 2,
            'openid' => $openid
        ), JSON_UNESCAPED_UNICODE);
        $url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=$token";
        $info = $this->https_curl_json($url, $data, 'json');
        return $info;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

3、前端代码在这里就不展示了,直接把内容和用户的openid传递到后端就行。

总结

1、这里主要是后端处理的时候要携带scene、version、openid这三个参数就可以正常获得正确返回的信息了
2、关于这三个参数在小程序开发者文档也有说明

在这里插入图片描述

正确返回的信息

{
	detail: [
		0: {
			strategy: "content_model", 
			errcode: 0, 
			suggest: "risky", 
			label: 20006, 
			prob: 90
		}
		1: {
			strategy: "keyword", 
			errcode: 0, 
			suggest: "risky", 
			label: 20006, 
			level: 100, 
			keyword: "六合彩"
		}
	]
	errcode: 0
	errmsg: "ok"
	result: {
		label: 20006
		suggest: "risky"
	}
	trace_id: "65d47706-30e97dbc-0d4aa9c6"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/577226
推荐阅读
相关标签
  

闽ICP备14008679号