2019年1月30日 星期三

htmlspecialchars vs strip_tags

CKEditor 是個好用的第三方元件,不過使用後就會有若干的缺點被放大出來,無論是安全上的問題或是資料儲放量爆炸等等...都是煩人的~不過其優點可以讓無止盡的客戶端需(要)求得以滿足(或應付)也是不得不的選擇。

在使用上有很多時候是被要求不要出現HTML TAG的,這時候這兩個 htmlspecialchars() 及 strip_tags()函式就被提出來囉!! 都是在做 HTML 輸出消毒但這兩者還是有所不同,參考說明節錄如下:

strip_tags() 是用來防君子,所有正規合法的 html 或 php 標籤,都將被濾除。
htmlspecialchars() 則是用來防小人,所有想借機偷渡的語法,也會被抓出來,例如onmouseover='...'。

所以如果是可控的資料來源(後台)那麼strip_tags會有效率些(快點),不可控的資料來源(前端)就嚴謹些準沒錯!!

沒有留言: