$host = parse_url($url, PHP_URL_HOST);
if (!in_array($host, [
'xxx.xxx',
]))
已知这种检验,判断url的host是否在白名单中,此时可以通过http://www.baidu.com@xxx.xxx这种方式绕过,http://www.baidu.com@xxx.xxx解析host为xxx.xxx,而当浏览器访问这个网站时,\符号会变成/符号,导致绕过。
$host = parse_url($url, PHP_URL_HOST);
if (!in_array($host, [
'xxx.xxx',
]))
已知这种检验,判断url的host是否在白名单中,此时可以通过http://www.baidu.com@xxx.xxx这种方式绕过,http://www.baidu.com@xxx.xxx解析host为xxx.xxx,而当浏览器访问这个网站时,\符号会变成/符号,导致绕过。