最近,在開發網站的時候遇到了一個麻煩——過濾器把 CSS 過濾掉了。
filter_var($css, FILTER_SANITIZE_STRING);
經過多次嘗試,發現使用以上代碼過濾 CSS 后,CSS 樣式并沒有生效。在查找問題原因時,發現該函數會將輸入中的 HTML 實體轉換為它們的原始字符,這也就導致了 CSS 無法生效。
雖然我們可以修改代碼過濾函數,但為了網站安全,這是不可取的。那么,有沒有其他方法可以解決這個問題呢?
經過一番搜索和研究,我發現有一個簡單且有效的解決方法。當我們輸出 CSS 樣式時,可以通過將樣式內的 HTML 實體轉義來解決這個問題。
echo '<style>' . htmlspecialchars($css) . '</style>';
上述代碼中,htmlspecialchars() 函數將 CSS 樣式內的 HTML 實體轉義,使其不受過濾器的影響。
總之,當我們面臨過濾器把 CSS 過濾了的問題時,不要驚慌失措。我們可以通過將樣式內的 HTML 實體轉義來解決這個問題。
上一篇ng vue
下一篇django結合vue