']; foreach ($dangerous as $char) { if (strpos($value, $char) !== false) { return true; } } return false; } } if (! function_exists('blocksy_sanitize_value_recursive')) { /** * Recursively sanitize all string values in an array. * * @param mixed $value The value to sanitize. * @return mixed Sanitized value. */ function blocksy_sanitize_value_recursive($value) { if (is_string($value)) { if (blocksy_is_value_suspicious($value)) { return ''; } return $value; } if (is_array($value)) { foreach ($value as $key => $item) { $value[$key] = blocksy_sanitize_value_recursive($item); } } return $value; } } if (! function_exists('blocksy_sanitize_post_meta_options')) { /** * Sanitize post meta options by recursively checking all string values. * * Any string containing suspicious characters (< >) will be replaced * with an empty string to prevent XSS attacks. * * @param mixed $value The meta options to sanitize. * @return mixed Sanitized meta options. */ function blocksy_sanitize_post_meta_options($value) { return blocksy_sanitize_value_recursive($value); } }