项目需要验证用户发布文章内容是否违规发现了微信公众平台有一个文本检测接口,只需要有公众号appid和secret就行了

微信接口官方网址:https://mp.weixin.qq.com/cgi-bin/announce?token=976729357&action=getannouncement&key=11522142966rk3L2&version=1&lang=zh_CN&platform=2

为了方便使用封装了一个类

<?phpclass Util_Verification{private $appid;private $appSecret;public function __construct() {//获取配置文件中的appid和appsecrt$conf = new Yaf_Config_Ini($ini_file);$this->appid = $conf->get('WX_APPID');$this->appSecret = $conf->get('WX_APPSECRT');}/*** 获取微信AccessToken*/public function getAccessToken(){$redis = Cache_Redis::getInstance();$accessToken = $redis->read('AccessToken');if(empty($accessToken)){$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appSecret;$info=curl_init();curl_setopt($info,CURLOPT_RETURNTRANSFER,true);curl_setopt($info,CURLOPT_HEADER,0);curl_setopt($info,CURLOPT_NOBODY,0);curl_setopt($info,CURLOPT_SSL_VERIFYPEER, false);curl_setopt($info,CURLOPT_SSL_VERIFYHOST, false);curl_setopt($info,CURLOPT_URL,$url);$output= curl_exec($info);curl_close($info);$result = json_decode($output, true);if (!empty($result['errcode'])) {return $result['errmsg'];}else{//为了方便放到了redis里$accessToken = $result['access_token'];$redis->write('AccessToken', $accessToken, 30);}}return $accessToken;}/*** 违规验证* @param $content* @return array*/public function msgSecCheck($content){$accessToken = $this->getAccessToken();$url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=".$accessToken;$postdata = json_encode(['content'=>$content],JSON_UNESCAPED_UNICODE);$options = array('http' => array('method' => 'POST','header' => 'Content-type:application/x-www-form-urlencoded','content' => $postdata,'timeout' => 3 ,// 超时时间(单位:s)'user-Agent' => "Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0\r\n" ."X-Requested-With: XMLHttpRequest",));$context = stream_context_create($options);try{$result = file_get_contents($url,false, $context);$result = json_decode($result, true);if (!$result) {throw new \Exception("获取信息失败,请重新打开页面");}return $result;}catch (Exception $exception) {return $exception->getMessage();}}
}

php文本安全内容敏感词检测(微信的)相关推荐

  1. php访问小程序内容检测接口,关于小程序接入敏感词检测接口的坑

    接入 msgSecCheck 接口47001 错误码踩坑! 这是官方文档要求,写的有些笼统,根据开发者社区提供需要进行编码后在传参,以下为 php 代码示例/** * 敏感词检测 * @param $ ...

  2. 写一个高性能的敏感词检测组件

    最近写了一个高性能的敏感词检测组件[ToolGood.Words]. 一.高性能,它的效率到底有多快? 如果将正则表达式的算法效率设为1,高性能可达到正则表达式的1.5万倍. 二.选一个巧妙的算法: ...

  3. 免费敏感词检测API

    免费敏感词检测,免费文本内容审核, 不用什么注册key,下载到本地直接运行,直接http json查询. 下载地址 ​​https://github.com/bosnzt/wordscheck​​ ​ ...

  4. 测试.net开源敏感词检测库ToolGood.Words

      微信公众号"DotNet"看到介绍.net开源敏感词检测库ToolGood.Words的文章<.NET Core一款高性能敏感词检测开源库>,根据参考文献2中的测试 ...

  5. java 敏感词检测

    在网上看到好多的敏感词检测,发现都是在推荐某某算法,但是敏感词全是利用文本去存放.在项目中不能很好的进行维护和管理(个人看法). 本文的敏感词的检测方式还是DFA算法检测,不过敏感词存放地址放入了Re ...

  6. 【敏感词检测】用DFA构建字典树完成敏感词检测任务

    任务概述 敏感词检测是各类平台对用户发布内容(UGC)进行审核的必做任务. 对于文本内容做敏感词检测,最简单直接的方法就是规则匹配.构建一个敏感词词表,然后与文本内容进行匹配,如发现有敏感词,则提交报 ...

  7. 敏感词检测:整合阿里云与腾讯云相关API

    前言 项目地址:Text-Sensitivity 笔者在开发小程序时,由于需要对用户输入内容进行敏感词检查,故需要使用现有服务商的相关API(自行开发NLP产品,难度大). 我们技术团队初步使用的是腾 ...

  8. 关于java中敏感词检测的一些总结

    之前项目里客户提出一个需求,需要对系统中使用文本转化成语音发送的功能进行敏感词检测,禁止用户提交有敏感词的语音.通过查询各方面资料,整理了大概几种方案: 项目启动时对载入敏感词库作为缓存(一个大map ...

  9. 一种基于DFA算法的敏感词检测JAVA程序片段

    本文章提供一种基于DFA算法的敏感词检测JAVA程序片段,如下: 1.构造多叉树数据结构 import org.jetbrains.annotations.NotNull;/*** 多叉树* @aut ...

  10. 一次敏感词检测开发记录

    需求 用户上传execl,前端解析excel ,解析之后,将excel的json数据,传给后端,后端通过关键字检测算法,返回你之前传的数据,并且附件敏感字.然后前端渲染数据只table.并且用户以到e ...

最新文章

  1. 在Ubuntu中打开pycharm步骤:
  2. vant图标怎么显示不出来_U盘插进电脑但不显示怎么解决
  3. Xara Designer Pro中文版
  4. Android7.1修改系统默认多媒体音量大小
  5. IDEA在jsp页面写out.print()代码报错
  6. 电力论文:基于牛顿拉尔逊(直角坐标)的电气潮流计算(python实现)
  7. (一)Builder(建造者)模式
  8. java切片_ java中一个极其强悍的新特性Stream详解(非常实用)
  9. for循环下标 shell_如果再写for循环,我就锤自己
  10. NuGet镜像上线试运行
  11. 在线笔记存代码_李宏毅《机器学习》完整版笔记发布
  12. “Max“ stands for big
  13. Java开发全套学习!java微服务网关
  14. php 框架 容器,thinkphp5.1框架容器与依赖注入实例分析
  15. github 思维导图开元软件_最强大脑!这 7 款开源思维导图工具真的很神奇
  16. 计算机性能怎么测试软件,如何测试电脑性能|检测电脑性能的方法
  17. 计算机蓝屏代码0x000000ED,XP系统蓝屏提示错误代码0x000000ED怎么办?
  18. [附源码]java毕业设计高校学生疫情防控信息管理系统
  19. uni-app:实现PayPal支付功能
  20. ArcGIS三大文件格式解析

热门文章

  1. 如何删除windows 10系统桌面的所有快捷图标
  2. Vivado IP核之浮点数乘除法 Floating-point
  3. Laravel中使用dingo
  4. Android中BottomSheetDialog如何设置透明背景
  5. android 拍照和相册,Android 拍照和从相册选照片
  6. 优化实现Mobile/Bumped Diffuse
  7. php扩展-ioncube组件的安装方法_如何安装ioncube扩展
  8. Google算法更新记录-你想了解的全在这
  9. win10 SystemParametersInfo 设置屏保 不好使_Win10:Classic Shell是一款非常不错的系统UI定制工具...
  10. 什么是GPU服务器?如何正确选择?