在過去的2天裏,我一直在廣泛閱讀關於保護ASP.NET應用程序的內容。然而,在將表單輸入插入到SQL數據庫之前或者在它們被髮送回瀏覽器之前,應該對它們進行編碼有矛盾的觀點。我認爲以前的意見對我來說更有意義,我將在服務器收到所有表單輸入後對其進行編碼,然後插入數據庫。不過,我對接下來會發生什麼感到困惑!在將Html字符串插入SQL數據庫之前對其進行編碼並安全地將其發回給瀏覽器是否安全
因此,讓我從創建它的時間開始直到它被髮送回瀏覽器。
步驟1
用戶輸入以下字符串:
string userString = "It's important to know that 1 > 0";
步驟2
一旦由串被編碼和在數據庫中插入所述服務器接收的。
string RenderedString = HttpUtility.HtmlEncode(userString);
由於在數據庫中的字符串保存結果如下:
"It's important to know that 1 > 0."
步驟3
我要呈現的字符串發送回瀏覽器,因爲它是那麼它會作爲html寫在網頁上,而不是由瀏覽器解析和呈現。其結果將是:
string StringResult = "It's important to know that 1 > 0";
我的問題是:我應該發送字符串返回到瀏覽器之前添加任何額外的「安全」一步還是不夠用3個以上的步驟?任何幫助將不勝感激?
因此,您的建議是將字符串保存在數據庫中,然後在將它們發送到瀏覽器之前進行編碼。那是對的嗎? – Gloria
是的,那是最好的方法。 – buffjape