안전하지 않는 사이트 리다이렉션 취약점 수정

This commit is contained in:
chicpro
2015-05-18 17:29:01 +09:00
parent d701f840db
commit 0835753299
5 changed files with 34 additions and 6 deletions

View File

@ -2844,4 +2844,25 @@ function check_password($pass, $hash)
return ($password === $hash);
}
// 동일한 host url 인지
function check_url_host($url, $msg='', $return_url=G5_URL)
{
if(!$msg)
$msg = 'url에 타 도메인을 지정할 수 없습니다.';
$p = parse_url($url);
if ((isset($p['scheme']) && $p['scheme']) || (isset($p['host']) && $p['host'])) {
if ($p['host'].(isset($p['port']) ? ':'.$p['port'] : '') != $_SERVER['HTTP_HOST']) {
echo '<script>'.PHP_EOL;
echo 'alert("url에 타 도메인을 지정할 수 없습니다.");'.PHP_EOL;
echo 'document.location.href = "'.$return_url.'";'.PHP_EOL;
echo '</script>'.PHP_EOL;
echo '<noscript>'.PHP_EOL;
echo '<p>'.$msg.'</p>'.PHP_EOL;
echo '</noscript>'.PHP_EOL;
exit;
}
}
}
?>