不良言论屏蔽方案探讨——自说自话方案
引言
你是否曾遇到過這樣糟糕的體驗(yàn):
你在一個(gè)網(wǎng)頁表單中,用心填寫好所有項(xiàng)目后,點(diǎn)提交按鈕時(shí)被告知“您提交的內(nèi)容中有敏感信息,請(qǐng)檢查!”,而你急得抓破頭皮也找不到所謂的“敏感信息”在哪,幾經(jīng)修改也還是一樣,致使根本無法提交內(nèi)容;
更糟糕的網(wǎng)站甚至提交后轉(zhuǎn)到其他頁面才告知你有“敏感信息”,而此時(shí)你想重試的話只能重新填寫整個(gè)表單!
顯然,這些網(wǎng)站有些過敏了,但或許有網(wǎng)站主確實(shí)就是抱著“寧可錯(cuò)殺一千,絕不姑息一個(gè)”的想法來做的,這點(diǎn)在我國可以理解;不過就用戶體驗(yàn)方面來說,我覺得用臟話回敬他們一點(diǎn)都不過分,因?yàn)樗麄兺耆蛔鹬赜脩趔w驗(yàn),浪費(fèi)用戶的時(shí)間,給用戶帶來惱怒和困擾。
這里我提供一種簡單易行的方案,可以兼顧網(wǎng)站安全和用戶體驗(yàn),我稱之為“自說自話方案”。
?
簡述
簡而言之,這種方案就是讓用戶自言自語。
在用戶提交內(nèi)容時(shí),如果我們認(rèn)為內(nèi)容包含不良信息,就將其設(shè)為“僅發(fā)布者可見”,這樣發(fā)布者完全不知道自己的信息被屏蔽,就不會(huì)產(chǎn)生上述困擾,而網(wǎng)站也不會(huì)因?yàn)橄蚬婏@示不良信息而受處。
?
實(shí)現(xiàn)原理
實(shí)現(xiàn)原理很簡單:
首先在用戶首次訪問網(wǎng)站時(shí),為用戶分配一個(gè)GUID,并將其存入Cookies中;
當(dāng)用戶發(fā)布信息時(shí),將此GUID也存入信息表格的[發(fā)布者ID]字段中;此時(shí)如果認(rèn)定信息屬于不良信息,則將其標(biāo)記刪除(僅通過一個(gè)布爾值標(biāo)記為刪除,而非真的刪除);
顯示信息列表時(shí),將用戶此前分配到的GUID傳入,在數(shù)據(jù)庫中檢索未標(biāo)記刪除或[發(fā)布者ID]與用戶GUID相等的信息顯示出來即可。
為了解決用戶更換電腦后瀏覽時(shí)看不到此前發(fā)布的已被屏蔽的信息的情況,應(yīng)當(dāng)在用戶注冊時(shí)將此前分配的GUID記錄在用戶屬性中,并在每次用戶登錄時(shí),將記錄下的GUID重新寫入Cookies。這樣做雖然仍然無法解決用戶在換新機(jī)后、登錄前這一段時(shí)間內(nèi)無法看到此前發(fā)布的已被屏蔽的信息的情況,但應(yīng)該不是很容易被用戶發(fā)現(xiàn)的,因?yàn)樽鳛橐粋€(gè)正常用戶來說,被屏蔽的信息量應(yīng)當(dāng)很少的,再加上換機(jī)且未登錄狀態(tài)的發(fā)生概率,可能性就很低了,而且就算被發(fā)現(xiàn)了他也可能認(rèn)為是系統(tǒng)臨時(shí)性故障,再者就算此兄疑心很重,經(jīng)過反復(fù)試驗(yàn)搞明白了咱的把戲,他也沒轍是不是?
?
優(yōu)點(diǎn)
這樣做的好處:
1.有極好的用戶體驗(yàn)(或者說“沒有什么不好的用戶體驗(yàn)”,因?yàn)檫@樣幾乎不會(huì)對(duì)任何用戶造成困擾)
2.維持高安全性
3.減少相關(guān)投訴和沖突
4.防止用戶頻繁重復(fù)嘗試,繼而減少服務(wù)器壓力
5.讓被屏蔽者誤以為自己發(fā)布的內(nèi)容在此網(wǎng)站上沒有人感興趣,繼而以后不再嘗試發(fā)布類似內(nèi)容
?
缺點(diǎn)
這種寬松的提交驗(yàn)證方式的優(yōu)勢是對(duì)自然人而言的,它的弊端就在于對(duì)機(jī)器人自動(dòng)發(fā)布的內(nèi)容也保持同樣寬容,但機(jī)器人可不會(huì)自知沒趣而不再發(fā)帖,重復(fù)頻繁發(fā)布的垃圾內(nèi)容雖然不會(huì)顯示給公眾,但也會(huì)影響網(wǎng)站性能,所以需要在提交環(huán)節(jié)中加入驗(yàn)證碼、提交頻率判定、客戶端腳本執(zhí)行等技術(shù)來找出并屏蔽機(jī)器人訪問。
其次就是在性能方面,無法用常規(guī)的緩存功能來緩存信息列表,因?yàn)閷?duì)于不同的人來說列表是不同的。(這個(gè)如何解決呢?高手可以談一下哈。我粗略想了一下,覺得可以在全局中緩存未標(biāo)記刪除的信息列表,然后每次用戶訪問時(shí)在Session中存入此用戶GUID對(duì)應(yīng)的信息列表,顯示時(shí)將兩個(gè)列表組合起來顯示。)
?
結(jié)語
這里拋磚引玉,旨在希望各個(gè)程序員開動(dòng)思維,在達(dá)成項(xiàng)目要求的前提下,盡可能地為用戶提供更好的體驗(yàn)。
此方法結(jié)合我之前發(fā)表的《敏感內(nèi)容自動(dòng)評(píng)審類庫及輔助工具》來做審查,效果會(huì)更好。
?
?
?
下載
本文的XPS版本:http://www.uushare.com/user/icesee/file/3185317
總結(jié)
以上是生活随笔為你收集整理的不良言论屏蔽方案探讨——自说自话方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不是碰不到更好的,是因为已经有了你!
- 下一篇: 必须学会的几种网络测试方法