我們有一個非常大的Web應用程序。
總計約有120.000條線。以純文本形式處理每個用戶輸入
在這個應用程序中,用戶有很多可能性來輸入文本。
在用戶信息,文件夾,組等。
某些用戶想要命名不同的對象,如Age < 20
。
有一個問題,因爲ASP.NET阻止這樣的輸入,因爲「<」阻止JavaScript注入。
我們找到了一種方法來關閉這些安全機制,但現在我們的應用程序是不安全的。
所以問題是:
是否有任何設置或屬性或任何可以設置全局(在整個應用程序的一個點),應用程序處理這種輸入爲純文本?
因此,當一個用戶想要命名一個文件夾<script>alert("ALERT");</script>
它應該這樣命名,並顯示爲<script>alert("ALERT");</script>
但腳本不會執行。
同爲HTML:如果它命名爲Folder<br>One
它應該看起來像:Folder<br>One
和不喜歡:
Folder
One
當然,我可以使用HTML編碼/ -decode,但我不想去通過全體項目,並添加一個編碼/解碼,無論輸入是製作還是顯示...
也將在全球解決方案pretent錯誤在未來的發展。
所以再次問:有沒有辦法處理每一個文本,就像文本?儘可能全球化?
希望你能理解我的問題並瞭解任何可能性。
我記得沒錯,當你使用DataBinding時,這是自動的 –
@SteveB請你指定你的答案?我究竟應該怎樣DataBind? –
我的意思是說,如果你在一個數據模板(DataList,Datagrid等等)中有'',並且如果你將文本框綁定到內部上下文對象,編碼/解碼將被數據綁定自動處理。 –