用爱发电的MJJ们,好不容易搭建了一个公共图床,供大家以图会友。不想被无聊或者恶意的人上传黄色图片影像到个人,严重的甚至被请去喝茶的话。就需要给图床加一个黄盾了。
下面转载于大鸟博客,感谢博主提供这么好的方法:调用百度图像内容审核,就能启动保护你图床的作用。
1、登录百度AI控制台创建应用等
百度账号应该人手一个了吧,没有就注册一个,这个就不多说了。
百度AI控制台网址:https://console.bce.baidu.com/
(1)创建新应用
登录之后,点击右边的产品服务→人工智能→内容审核→创建新应用。
接着我们创建新应用。
(2)记下APP_ID、API_KEY、 SECRET_KEY
如图所示把这几个都记下来。一会要用。
2、SDK下载
SDK下载:https://ai.baidu.com/sdk#anti
看图:按图点击SDK下载效果也是一样。
选择内容审核然后下载PHP SDK,如图:
3、部署
(1)新建aip 目录
路径:app\vendor\aip (aip目录没有就创建一个)
(2)上传解压
把下载的程序包上传到新建的aip目录中解压即可。宝塔是支持在线解压的。
(3)修改app\lib\classes\class.image.php
修改 app\lib\classes\class.image.php文件 ,在文件头部 use 和 class 中间也就是23行左右 加上如下代码。
- require_once CHV_APP_PATH_LIB_VENDOR . 'aip/AipImageCensor.php';
截图:
(4)继续修改
继续修改 app\lib\classes\class.image.php文件 ,大概在571行,找到$upload->exec();这个代码,在这个代码后面加上如下代码。
- $APP_ID = '2089000';
- $API_KEY = 'S0oBc4p0G7777777oFI6zT';
- $SECRET_KEY = 'TzvkrXmg4nVLyuytjtjtyjtrjtrjtrj023';
- $aip = new \AipImageCensor($APP_ID, $API_KEY, $SECRET_KEY);
- $res = $aip->imageCensorUserDefined(file_get_contents($upload->uploaded['file']));
- // error 错误提示信息,失败才返回,成功不返回
- if (array_key_exists('error_msg', $res)) throw new UploadException($res['error_msg'], 201);
- // conclusionType 审核结果类型,可取值1、2、3、4,分别代表1:合规,2:不合规,3:疑似,4:审核失败
- if ($res['conclusionType'] == 4) throw new UploadException('图像审核失败', 201);
- if ($res['conclusionType'] > 1) throw new UploadException('图像**, 禁止上传', 201);
不会看截图:
提交保存后,即可开启图床鉴黄功能。
4、效果
开启之后,现在来试试效果,如图:
效果不错,完美鉴黄。我们到百度的ai控制台看看。
5、最后
以上教程基于Chevereto3商业版本,免费版没测试过,估计应该差不多。
百度ai平台的图片审核量限制2000张,超过就要收费了。