跳到主要內容

發表文章

目前顯示的是 4月, 2022的文章

PHP去除js,smarty,css,php標籤的function-教學撰寫:徐嘉裕Neil hsu

在開發留言系統時除了前端防禦外,後端的過濾也很重要,因為前端所有的JS功能都可透過瀏覽器的F12竄改導致防禦無效,尤其是惡意發佈js,css,程式碼破壞版面,甚至可將頁面導向木馬程式網頁,所以一定要在資料寫入時就吧js,smarty,css,php標籤通通去除掉無害化處理,才能防止網站遭惡意破壞事情發生。 分享一個PHP去除js,smarty,css,php標籤的function,code如下 //去除js,smarty,css,php標籤 function removejscssscript($str) { //移除js $str = str_replace("\r\n", PHP_EOL, htmlspecialchars_decode($str)); $str = preg_replace('/<.*script.*>/', '', $str); //移除css $str = preg_replace('/<.*style.*>/', '', $str); $str = preg_replace('/<.*link.*>/', '', $str); //移除smarty $str = preg_replace('/<\{+/i', '', $str); $str = preg_replace('/\}>+/i', '', $str); //移除php $str = preg_replace('/<\?php+/i', '', $str); $str = preg_replace('/\?>+/i', '', $str); return $str; } //在接收變數寫進資料表的地方使用即可  removejscssscript($str=$_POST['description']) ; 實際測試移除效果,我們先在文字框中貼上js,css程式碼 然後送出,可以看到style及script都被移除掉,只剩下結構,這樣就無害化完成 有需要的朋友參考看