小程序中敏感词过滤——前端实现

知晓程序员,专注小程序开发的程序员!

小程序内容如果含有淫秽色情、涉违法犯罪、涉政有害等不良信息,将会被微信强制下架小程序。

因此,微信官方也推出了内容安全接口,文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/msgSecCheck.html

在些之前,有些开发者也使用过第三方的内容安全接口,比如网易易盾、阿里云内容检测API、百度AI内容审核,这些都是收费的,主要针对企业用户。

因此,官方推出此内容安全接口后,算是对开发者的一种福利

官方提供的安全接口,是需要调用服务端的API,检测完成再返回结果。如果页面的表单内容很多,每次都请求API就不合理了。能否直接在前端就做个简单检验呢?

连胜老师介绍一种前端处理敏感词的方法:替换相关敏感词为**

把一些基本的敏感词放在前端校验,一些疑似或者有语义的词再去用官方API检测。

直接看代码:

function hasSensitiveWords(str) {
  if(str == '' || str == undefined) return false;
  var words = '台独,藏独';  // 常用敏感词,请自己添加
  var array = words.split(','), len = array.length;
  for (var i = 0; i < len; i++) {
    var item = array[i];
    if (str.indexOf(item) >= 0 && item != '') {
      return item;
    }
  }
  return false;
}

function replaceAll(oldStr, reStr) {
  var len = reStr.length, starStr = '';
  for (var i = 0; i < len; i++) {
    starStr += '*';
  }
  return oldStr.replace(new RegExp(reStr, "gm"), starStr);
}

js判断:

var titleStr = util.hasSensitiveWords(this.data.title);
if (titleStr) {
  util.showModelTips('标题包含敏感词,已经自动处理为*,请重新编辑');
  this.setData({
    title: util.replaceAll(this.data.title, titleStr),
    titleDefault: util.replaceAll(this.data.title, titleStr),
  });
  return;
}

当用户输入了相关敏感词后,前端可以做个简单处理,把常用敏感词替换成**。减少了一部分API请求,体验稍微好一些~

《完》

原文发布于微信公众号 - 知晓程序员(bainaweb)

原文发表时间:2018-05-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯云技术沙龙

刘敏洁:API网关和SCF深度结合应用

这次我们主要介绍面向于API网关和SCF深度结合应用,API网关与SCF结合可以形成比较完整的Serverless方案。

4283
来自专栏美团技术团队

前端工程化开发方案app-proto

什么是前端工程化?根据具体的业务特点,将前端的开发流程、技术、工具、经验等规范化、标准化就是前端工程化。它的目的是让前端开发能够“自成体系”,最大程度地提高前端...

6313
来自专栏smartguys

(五):C++分布式实时应用框架——微服务架构的演进

版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等行为保留法律追究的权利!

6754
来自专栏phodal

如何在 8 小时内开发上线一个在线表单系统

欢迎使用 moform,一个无需注册、基于 Serverless 的开源表单系统。 在使用开发了一个精简版的 Serverless 日志存储系统 molog 之...

57211
来自专栏沈唁志

GitHub代码托管平台提交代码时emoji表情的使用

2144
来自专栏FreeBuf

基于bro的计算机入侵取证实战分析

什么是计算机入侵取证 计算机取证是运用计算机及其相关科学和技术的原理和方法获取与计算机相关的证据以证明某个客观事实的过程。它包括计算机证据的确定、收集、保护、分...

4913
来自专栏竹清助手

为什么选择PHP作为后台语言

越来越多的企业使用PHP+MYSQL搭建网站,究竟PHP有什么好,为什么要选择用PHP? 1. 跨平台,性能优越,跟Linux/Unix结合别跟Windo...

1973
来自专栏DeveWork

JGulp: 利用Gulp 配置的前端项目自动化工作流

商业竞争时代的Web 开发,效率越来越成为其中决胜的关键因素之一。在前几年的时候,前端是一片荒芜的待开垦之地,开发者更多考虑开阔更多技术疆域;而最近几年,在前端...

22710
来自专栏源码之家

搞定龙源期刊原貌版杂志的下载

3273
来自专栏Android 开发者

Android vitals 帮您解决应用质量问题

对于应用开发者而言,衡量应用成功最好的指标就是开心的用户,而且是越多越好。达到这一目的的最佳途径就是开发一个好应用,那么什么样的应用才能被称作是 “好” 应用...

1761

扫码关注云+社区

领取腾讯云代金券