buildadmin總結

狂客發表於2024-12-08
  1. 關於filter函式過濾 會把非字串型別(如 布林型,整型)轉為字串型別的bug
/**
     * 修復後的輸入過濾
     * 富文字反XSS請使用 clean_xss,也就不需要及不能再 filter 了
     * @param string|bool|int $string 要過濾的字串
     * @return string|bool|int
     */
    function filter(string|bool|int $string): string|bool|int
    {
        if (!is_string($string)) return $string;

        // 去除字串兩端空格(對防程式碼注入有一定作用)
        $string = trim($string);

        // 過濾html和php標籤
        $string = strip_tags($string);

        // 特殊字元轉實體
        return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, 'UTF-8');
    }