2013-08-16 76 views

回答

1

如果你想禁止所有與HTML淨化器,最簡單的方法應該是設置一個空的白名單HTML.Allowed而不是嘗試在一個徹底的黑名單。 (一般來說,我推薦住從黑名單遠離接近,除非你真的沒有其他選擇 - 與黑名單,總是錯過一些機會。)

HTML淨化器是一個工具旨在幫助您,具體如果你允許 HTML。如果你不這樣做,那很可能只是計算開銷,並沒有給你帶來好處。

對比:

也許嘗試htmlspecialchars(strip_tags(...), ENT_QUOTES, 'your-encoding-goes-here')呢?這應該會更快,並且對於您要實現的目標而言也是安全的。

+0

我使用'$ this-> title = strip_tags($ this-> title);'爲title和HTMLPurifier來描述。我正確使用strip_tags?或者必須使用從htmlspecialchars? – msoa

+1

@msoa:一般來說,你應該使用'htmlspecialchars(strip_tags())',因爲'strip_tags()'本身並不安全。這意味着如果有人真的想破解你的網站,他們可以繞過'strip_tags()'。當然,如果你的'$ this-> title'在輸出之前已經被html轉義了,那麼你不必在那裏做(事實上不應該這樣做),但是如果你不知道更多關於你的設置的信息,我無法建議。祝你好運! :) – pinkgothic