2012-03-20 49 views
2

因此,我已經針對無處不在的ASP.NET「潛在危險的請求」問題現在在不同情況下進行了幾次討論。在使用CKEditor時,我通過使用一般建議將「htmlEncodeOutput」選項設置爲true來擊敗它,取得了相當不錯的成功。在其他情況下,我使用了另一個廣泛的建議,即將頁面驗證恢復爲舊版本,這基本上告訴服務器忽略HTML通過。如此精細。針對潛在危險請求的JavaScript編碼

但是我一直無法弄清楚的是如何自己編碼文本(並保持驗證)。在黑暗中狂野的刺中,我嘗試了JavaScript escape()和encodeURI()函數,以及一個將括號轉爲>和<的小型string.replace()函數。這些似乎都不起作用。在最近的狂野刺中,我使用「HttpUtility.HtmlEncode」編碼了文本服務器大小,將其發送到瀏覽器,並嘗試將其發回。向上彈出「潛在危險的請求」。精氨酸。

是否有任何JavaScript函數的工作示例可以完成CKEditor「htmlEncodeOutput」函數所具有的任何魔力?我很樂意提供任何提示。

回答

1
function htmlEncode(s) { 
    return s.replace(/&/g, '&amp;').replace(/</g, '&lt;') 
     .replace(/>/g, '&gt;').replace(/"/g, '&quot'); 
} 
+0

謝謝。這對我正在使用的測試示例有效,我將使用它。不過,我想知道我讀過的奇怪的例子 - 比如「ON」。 - 這應該會觸發「潛在」的危險錯誤,以幫助防止SQL注入攻擊。 – Brent 2012-03-20 01:15:43

+0

@布倫特,你能指點我看看那篇文章嗎?我不太清楚你指的是什麼。 – 2012-03-20 03:36:19

+0

嗯......好吧,不是文章,而是更多的線索,海報試圖弄清楚他爲什麼得到錯誤: http://forums.asp.net/t/1235144.aspx/1/ 10 – Brent 2012-03-20 16:35:30

相關問題