在函数中,当url_len超过WAF_WL_LOG_MAX时,会先使用str_is_utf8函数检查是否为UTF-8编码,如果是,则通过循环找到最后一个中文字符的位置,然后将该位置之前的字符串赋值给url,接着在字符串末尾添加WAF_WL_LOG_STR字符串。如果不是UTF-8编码,则直接将url截取前WAF_WL_LOG_MAX个字符,并在末尾添加WAF_WL_LOG_STR字符串。因此,当url_len恰好等于WAF_WL_LOG_MAX时,不会进入截取字符串的逻辑,直接将url赋值给url_tmp,然后在末尾添加WAF_WL_LOG_STR字符串,所以最终的字符串中没有省略号。

static int check_waf_whitelist_url_truncatechar url int url_len	size_t truncate = -1;	int i = 0;	char url_tmp1024 = 0;	if url_len WAF_WL_LOG_MAX 		str_is_utf8url &truncate;		if !truncate 			for i = 0

原文地址: http://www.cveoy.top/t/topic/buzO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录