我將html存儲在數據庫中,並且需要將其輸出到頁面。在轉義爲XSS後未翻轉某些HTML標記
- 如果我不逃(),然後我得到大膽格式我想,但我跑得從轉義的HTML源代碼得到一個XSS的風險。
- 如果我轉義()它,那麼它顯示原始html代碼
<b>bold text</b>
而不是加粗文本。
我怎樣才能逃脫一切,除了一些標籤?我正在考慮應用escape(),然後搜索<b>
和</b>
並使其無法正常使用。這會起作用嗎?你看到的任何安全問題?我也不確定我將如何搜索<b></b>
標籤。正則表達式可能或什麼?
P.S. escape()我的意思是Zend中的一個函數。我相信這相當於htmlspecialchars()
。
這就是爲什麼我想不使用的'用htmlspecialchars完全相反()'和使用一個自定義函數,它只會隱藏我想要的標記。 – sameold 2011-06-01 00:27:12