不良言论屏蔽方案探讨——自说自话方案
引言
你是否曾遇到過這樣糟糕的體驗:
你在一個網頁表單中,用心填寫好所有項目后,點提交按鈕時被告知“您提交的內容中有敏感信息,請檢查!”,而你急得抓破頭皮也找不到所謂的“敏感信息”在哪,幾經修改也還是一樣,致使根本無法提交內容;
更糟糕的網站甚至提交后轉到其他頁面才告知你有“敏感信息”,而此時你想重試的話只能重新填寫整個表單!
顯然,這些網站有些過敏了,但或許有網站主確實就是抱著“寧可錯殺一千,絕不姑息一個”的想法來做的,這點在我國可以理解;不過就用戶體驗方面來說,我覺得用臟話回敬他們一點都不過分,因為他們完全不尊重用戶體驗,浪費用戶的時間,給用戶帶來惱怒和困擾。
這里我提供一種簡單易行的方案,可以兼顧網站安全和用戶體驗,我稱之為“自說自話方案”。
?
簡述
簡而言之,這種方案就是讓用戶自言自語。
在用戶提交內容時,如果我們認為內容包含不良信息,就將其設為“僅發布者可見”,這樣發布者完全不知道自己的信息被屏蔽,就不會產生上述困擾,而網站也不會因為向公眾顯示不良信息而受處。
?
實現原理
實現原理很簡單:
首先在用戶首次訪問網站時,為用戶分配一個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
總結
以上是生活随笔為你收集整理的不良言论屏蔽方案探讨——自说自话方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不是碰不到更好的,是因为已经有了你!
- 下一篇: 必须学会的几种网络测试方法