前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Chevereto 增加百度AI审核功能,开启鉴黄功能,后台可设置

Chevereto 增加百度AI审核功能,开启鉴黄功能,后台可设置

作者头像
Alone88
发布2020-06-11 11:34:39
1.5K0
发布2020-06-11 11:34:39
举报
文章被收录于专栏:Alone88Alone88

chevereto 鉴黄

Chevereto

一个国外的图库程序,很有名的,又免费版和收费版,这里给它增加图像审核功能。

更新

关于收费版提示需要授权的问题,因为我是用免费版测试的,在免费版的 dashboard.php 文件里面 有个 free_version_waring 验证,收费版的没有,所以会导致提示重新授权问题。新的文件已经打包了

打包时少插入了一条sql 语句,导致会出错

代码语言:javascript
复制
INSERT INTO `chevereto`.`chv_settings`( `setting_name`, `setting_value`, `setting_default`, `setting_typeset`) VALUES ('is_censor', '1' ,'1', 'bool');

申请百度AI审核

申请地址:https://console.bce.baidu.com/ai/#/ai/antiporn/app/list

需要注册百度智能云的账号,然后去创建应用,可以获得 appid,appkey,appseret,需要用到这三个参数。 申请好了之后就可以看下面的教程了

1.png
1.png

开始修改...

需要用到 4 个文件,class.aipbase.php class.aiphttpclient.php class.aiphttpUril.php class.imagecensor.php , 这四个文件就是百度官方提供的 SDK ,我修改了一下。 需要把这 4 个文件上传到 Chevereto 程序下的 app/lib/classes 文件夹下.

就是把官方 SDK 的文件名改成了 Chevereto class.xxx.php 的明明规则,然后加上 namespace CHV; 命名空间。 官方SDK 下载地址:https://ai.baidu.com/ai-doc/ANTIPORN/5k3h6xf2t

2.png
2.png

然后在 class.upload.php 文件里面修改,添加这个方法到里面去。(后面会打包文件)

PS isValidCensor 这个方法就是审核图像的,只有通过验证才会上传文件,没有通过的话会直接抛出异常(包括图片审核失败,不合规,疑似)

代码语言:javascript
复制
/** 图像审核
     * @throws UploadException
     */
    protected function isValidCensor()
    {
        $censor_status = Settings::get("is_censor");
        if($censor_status == 1){
            $censor = new Imagecensor();
            if ($this->type == 'file') {
                $rep = $censor->imageCensorUserDefined(file_get_contents($this->source['tmp_name']));
            } else if ($this->type == 'url') {
                $rep = $censor->imageCensorUserDefined($this->source);
            }
            if (array_key_exists('error_code', $rep)) throw new UploadException("图片审核失败", 201);
            $conclusionType = $rep['conclusionType'];//1:合规,2:不合规,3:疑似,4:审核失败
            if ($conclusionType == 4) {
                throw new UploadException("图片审核失败", 201);
            } else if ($conclusionType > 1) {
                throw new UploadException("图片违规", 201);
            }
        }
    }

然后在 class.upload.phpexec 方法里面添加 一行 $this->isValidCensor(); // Exception 2 图片审核

3.png
3.png

然后需要修改 控制表文件。 在 app/themes/Peafowl/views/dashboard.php 文件里面

在里面搜索一下 Cookie law compliance 然后添加下面代码:

4.png
4.png
代码语言:javascript
复制
 <!-- 增加图片审核-->
           <div class="input-label">
                        <label for="enable_cookie_law"><?php _se('是否开启图片审核'); ?></label>
                        <div class="c5 phablet-c1"><select type="text" name="is_censor" id="is_censor" class="text-input">
                                <?php
                                echo CHV\Render\get_select_options_html([1 => _s('Enabled'), 0 => _s('Disabled')], CHV\Settings::get('is_censor')); ?>
                            </select></div>
                        <div class="input-below"><?php _se('是否开启图片审核'); ?></div>
            </div>
             <div class="input-label">
                        <label for="sdk_pup_url">百度AI APP_ID</label>
                        <div class="c9 phablet-c1"><input type="text" name="baidu_app_id" id="baidu_app_id" class="text-input" value="<?php echo CHV\Settings::get('baidu_app_id', true); ?>" placeholder="<?php _se('Empty'); ?>"></div>
                        <div class="input-below input-warning red-warning"><?php echo get_input_errors()['baidu_app_id']; ?></div>
                        <div class="input-below"><?php _se('百度AI 平台的 app_id,获取地址: https://console.bce.baidu.com/ai/'); ?></div>
              </div>
             <div class="input-label">
                        <label for="sdk_pup_url">百度AI APP_KEY</label>
                        <div class="c9 phablet-c1"><input type="text" name="baidu_app_key" id="baidu_app_key" class="text-input" value="<?php echo CHV\Settings::get('baidu_app_key', true); ?>" placeholder="<?php _se('Empty'); ?>"></div>
                        <div class="input-below input-warning red-warning"><?php echo get_input_errors()['baidu_app_key']; ?></div>
                        <div class="input-below"><?php _se('百度AI 平台的 app_key,获取地址: https://console.bce.baidu.com/ai/'); ?></div>
             </div>
              <div class="input-label">
                        <label for="sdk_pup_url">百度AI APP_SECRET</label>
                        <div class="c9 phablet-c1"><input type="text" name="baidu_app_secret" id="baidu_app_secret" class="text-input" value="<?php echo CHV\Settings::get('baidu_app_secret', true); ?>" placeholder="<?php _se('Empty'); ?>"></div>
                        <div class="input-below input-warning red-warning"><?php echo get_input_errors()['baidu_app_secret']; ?></div>
                        <div class="input-below"><?php _se('百度AI 平台的 app_secret,获取地址: https://console.bce.baidu.com/ai/'); ?></div>
              </div>

最后需要插入数据库 SQL

代码语言:javascript
复制
INSERT INTO `chevereto`.`chv_settings`( `setting_name`, `setting_value`, `setting_default`, `setting_typeset`) VALUES ('is_censor', '1','1', 'bool');
INSERT INTO `chevereto`.`chv_settings`( `setting_name`, `setting_value`, `setting_default`, `setting_typeset`) VALUES ( 'baidu_app_id', '', '', 'string');
INSERT INTO `chevereto`.`chv_settings`( `setting_name`, `setting_value`, `setting_default`, `setting_typeset`) VALUES ( 'baidu_app_key', '', '', 'string');
INSERT INTO `chevereto`.`chv_settings`(`setting_name`, `setting_value`, `setting_default`, `setting_typeset`) VALUES (,'baidu_app_secret', '', '', 'string');

插入好了之后就可以在后台设置 图像审核了

5.png
5.png
6.png
6.png

下载文件

文件已更新. SQL里面少插入了条SQL语句 下载地址: https://www.lanzous.com/ia41b8j

本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: Mar 10, 2020 at 02:23 pm

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Chevereto
  • 更新
  • 申请百度AI审核
  • 开始修改...
  • 下载文件
相关产品与服务
图片审核
图片审核(Image Auditing,IA)是数据万象产品下的子服务,能够对云存储或本地图片进行有效的识别,对包含令人反感、不安全或不适宜内容的图片进行处置,协助用户建设绿色健康的社交网络环境。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档