2016-03-31 16 views
-3

我正在開發富文本編輯器到我們的分佈式應用程序之一,以允許用戶在該編輯器中輸入他/她的註釋。在這裏,我們允許用戶鍵入來自鍵盤的註釋並複製粘貼來自外部來源(如互聯網,MS-Word等)的註釋,因此,在這裏,我們需要保存用戶輸入的內容而無需移除單個字符。如何處理使用java或javascript而不刪除的特殊字符

最初我想,我們需要加密註釋並將其保存到數據庫端,而用戶希望看到他的註釋,然後我們從數據庫中獲取它並解密並顯示給用戶。但是由此問題是,數據庫中的加密數據/註釋被不同的應用程序使用,所以我們需要在所有其他應用程序中實現相同的加密和解密機制....這是一個非常糟糕的主意。

所以,大家好,如果有人對此有更好的想法。請發佈答案。

謝謝。

回答

1

通過"encrypt"我假設你的意思是"escape" or "encode"

否則,您爲什麼需要加密註釋?請記住,您將無法對加密數據執行數據庫搜索。另外,如果攻擊者想要訪問數據庫,同時對應用程序進行逆向工程,他/她仍然能夠解密數據。從你提供的應用程序的細節中,加密簡單的「評論」是沒有意義的。

通常最好將原始數據存儲在數據庫中,並在將數據顯示給用戶時將其轉義。例如,假設您想在用戶輸入到數據庫中的文本中轉義HTML。所以你在插入文本之前已經轉義了所有的HTML標籤。但是一年之後,您希望改進您​​的某個應用程序,並允許此特定應用程序使用<b><i>。在這種情況下,最好能夠訪問數據庫中的原始數據,並在需要時進行任何轉義權限,即在將數據顯示給用戶之前。

您可以在此主題上閱讀更多here

+0

嘿謝謝你的回答。當然,如果我們考慮少數人物應該允許而少數人不允許,每當需求會發生變化。這就是爲什麼我們不關心任何用戶輸入的任何特殊字符都必須保存原始數據。這裏的總問題是特殊字符,尤其是擴展ascii字符。 – Creator