引言

你是否曾遇到过这样糟糕的体验:

你在一个网页表单中,用心填写好所有项目后,点提交按钮时被告知“您提交的内容中有敏感信息,请检查!”,而你急得抓破头皮也找不到所谓的“敏感信息”在哪,几经修改也还是一样,致使根本无法提交内容;

更糟糕的网站甚至提交后转到其他页面才告知你有“敏感信息”,而此时你想重试的话只能重新填写整个表单!

显然,这些网站有些过敏了,但或许有网站主确实就是抱着“宁可错杀一千,绝不姑息一个”的想法来做的,这点在我国可以理解;不过就用户体验方面来说,我觉得用脏话回敬他们一点都不过分,因为他们完全不尊重用户体验,浪费用户的时间,给用户带来恼怒和困扰。

这里我提供一种简单易行的方案,可以兼顾网站安全和用户体验,我称之为“自说自话方案”。

简述

简而言之,这种方案就是让用户自言自语。

在用户提交内容时,如果我们认为内容包含不良信息,就将其设为“仅发布者可见”,这样发布者完全不知道自己的信息被屏蔽,就不会产生上述困扰,而网站也不会因为向公众显示不良信息而受处。

实现原理

实现原理很简单:

首先在用户首次访问网站时,为用户分配一个GUID,并将其存入Cookies中;

当用户发布信息时,将此GUID也存入信息表格的[发布者ID]字段中;此时如果认定信息属于不良信息,则将其标记删除(仅通过一个布尔值标记为删除,而非真的删除);

显示信息列表时,将用户此前分配到的GUID传入,在数据库中检索未标记删除或[发布者ID]与用户GUID相等的信息显示出来即可。

为了解决用户更换电脑后浏览时看不到此前发布的已被屏蔽的信息的情况,应当在用户注册时将此前分配的GUID记录在用户属性中,并在每次用户登录时,将记录下的GUID重新写入Cookies。这样做虽然仍然无法解决用户在换新机后、登录前这一段时间内无法看到此前发布的已被屏蔽的信息的情况,但应该不是很容易被用户发现的,因为作为一个正常用户来说,被屏蔽的信息量应当很少的,再加上换机且未登录状态的发生概率,可能性就很低了,而且就算被发现了他也可能认为是系统临时性故障,再者就算此兄疑心很重,经过反复试验搞明白了咱的把戏,他也没辙是不是?

优点

这样做的好处:

1.有极好的用户体验(或者说“没有什么不好的用户体验”,因为这样几乎不会对任何用户造成困扰)

2.维持高安全性

3.减少相关投诉和冲突

4.防止用户频繁重复尝试,继而减少服务器压力

5.让被屏蔽者误以为自己发布的内容在此网站上没有人感兴趣,继而以后不再尝试发布类似内容

缺点

这种宽松的提交验证方式的优势是对自然人而言的,它的弊端就在于对机器人自动发布的内容也保持同样宽容,但机器人可不会自知没趣而不再发帖,重复频繁发布的垃圾内容虽然不会显示给公众,但也会影响网站性能,所以需要在提交环节中加入验证码、提交频率判定、客户端脚本执行等技术来找出并屏蔽机器人访问。

其次就是在性能方面,无法用常规的缓存功能来缓存信息列表,因为对于不同的人来说列表是不同的。(这个如何解决呢?高手可以谈一下哈。我粗略想了一下,觉得可以在全局中缓存未标记删除的信息列表,然后每次用户访问时在Session中存入此用户GUID对应的信息列表,显示时将两个列表组合起来显示。)

结语

这里抛砖引玉,旨在希望各个程序员开动思维,在达成项目要求的前提下,尽可能地为用户提供更好的体验。

此方法结合我之前发表的《敏感内容自动评审类库及辅助工具》来做审查,效果会更好。

下载

本文的XPS版本:http://www.uushare.com/user/icesee/file/3185317

不良言论屏蔽方案探讨——自说自话方案相关推荐

  1. 【自动驾驶】自动驾驶和手动驾驶的平滑切换控制方案探讨

    [自动驾驶]自动驾驶和手动驾驶的平滑切换控制方案探讨 文章目录 [自动驾驶]自动驾驶和手动驾驶的平滑切换控制方案探讨 一.自动驾驶过程中控制权归属问题(切换型 和 共享型) 二.强化学习在半自动驾驶系 ...

  2. LBS的球面距离计算及Geohash方案探讨(LBS之一)

     随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆.银行.妹纸等等). 基础数据中,一般保存了目标位置的经纬度:利用用户提供的经纬度,进行对比,从而获得是否在附近. 目标: 查找附近 ...

  3. 查找附近的xxx 球面距离以及Geohash方案探讨

    随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆.银行.妹纸等等). 基础数据中,一般保存了目标位置的经纬度:利用用户提供的经纬度,进行对比,从而获得是否在附近. 目标: 查找附近的XX ...

  4. 慈爱的教育部门被误解了 --- 真正减负令的实施方案探讨

    慈爱的教育部门被误解了 ---  真正减负令的实施方案探讨 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&quo ...

  5. 系统间数据交互的方案探讨

    系统间数据交互的方案探讨 ===================================== 互联网时代, 1等公民是建立规范和协议的人 2等公民是提供服务的人 3等公民是开发软件的人 4等公 ...

  6. 【软件测试】高可靠性方案探讨

    [摘要] 随着软件系统规模和复杂度日益升高,越来越多的软件项目明确提出软件的可靠性要求.而涉及高可靠性软件开发的软件企业也越来越意识到,软件测试在这些项目开发过程中绝不是一种辅助性工作,而是从软件质量 ...

  7. 高可靠性软件测试方案探讨

    高可靠性软件测试方案探讨 作者:戴金龙    文章来源:codesky       [摘要] 随着软件系统规模和复杂度日益升高,越来越多的软件项目明确提出软件的可靠性要求.而涉及高可靠性软件开发的软件 ...

  8. 计算机机房屏蔽接地设计方案,电磁屏蔽机房(屏蔽室)接地系统方案

    原标题:电磁屏蔽机房(屏蔽室)接地系统方案 电磁屏蔽机房接地系统总体设计方案 1. 工程概况 接地系统是电磁屏蔽机房(屏蔽室)建设的非常重要的一个环节,接地系统好坏不仅直接关系到电磁屏蔽机房内部设备的 ...

  9. Android平台基于RTMP或RTSP的一对一音视频互动技术方案探讨

    背景 随着智能门禁等物联网产品的普及,越来越多的开发者对音视频互动体验提出了更高的要求.目前市面上大多一对一互动都是基于WebRTC,优点不再赘述,我们这里先说说可能需要面临的问题:WebRTC的服务 ...

最新文章

  1. linux ----- Vim进入和退出命令
  2. 从Cell的视图推出一个新的界面
  3. 笔记-项目合同管理-项目合同谈判与签订-供应商项目立项
  4. 参考用-惯性导航系统简介(转载)
  5. 数据库的语言——SQL
  6. 根据二叉树的先序和中序求后序遍历
  7. c语言网页版在线编译器_C语言编译器IDEapp下载-C语言编译器IDE官方版下载v1.5.1 安卓版...
  8. Command对象应用--增加问卷调查
  9. android中ScrollView和GridView/ListView共存时,ScrollView不在顶部的解决方法
  10. hawk物联网组态工具_有哪些开源html5的组态软件
  11. tomcat8.0安装及配置
  12. cmd修改dns服务器,如何通过cmd修改dns图解教程
  13. 全年腾飞计划笔记(腾飞笔记)
  14. 计算机应用类,计算机应用领域分为几大类
  15. 如何利用数据挖掘让RTB广告效果倍增?
  16. 纯CSS3实现凹凸文字
  17. 阿里云技术大咖分享新内容新交互时代下的新技术、新机会
  18. 苹果怎么清理隐藏内存?全新手机技巧,还不会的亏大了!
  19. 微信template模板
  20. Redis Desktop Manager 运行时报0xc000007b

热门文章

  1. 【杂谈】如何学会看arxiv.org才能不错过自己研究领域的最新论文?
  2. 淡季不淡!速卖通户外运动产品好做吗?来看看法国这些爆款!
  3. 为何要离开?该怎么离开?今天来谈谈辞职
  4. PD003-NET通用后台系统
  5. vc2005编译过程中没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题? 的彻底解决
  6. vc编写供vb使用的dll文档
  7. 粤桂粤黔谋定现代农业产业园 林裕豪:从玉农业一县一园签约
  8. 济南长清区谋定特色展销中心 对话中国农民丰收节交易会
  9. DIV盒子模型介绍 div用法
  10. JavaScript对象、原型、原型链知识总结思维导图