mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-24 12:03:21 +01:00
New parameter for redirect() to circumvent the cross-domain check.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8674 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
6322808f28
commit
81886c0eae
@ -1802,8 +1802,12 @@ function generate_board_url($without_script_path = false)
|
||||
/**
|
||||
* Redirects the user to another page then exits the script nicely
|
||||
* This function is intended for urls within the board. It's not meant to redirect to cross-domains.
|
||||
*
|
||||
* @param string $url The url to redirect to
|
||||
* @param bool $return If true, do not redirect but return the sanitized URL. Default is no return.
|
||||
* @param bool $disable_cd_check If true, redirect() will redirect to an external domain. If false, the redirect point to the boards url if it does not match the current domain. Default is false.
|
||||
*/
|
||||
function redirect($url, $return = false)
|
||||
function redirect($url, $return = false, $disable_cd_check = false)
|
||||
{
|
||||
global $db, $cache, $config, $user, $phpbb_root_path;
|
||||
|
||||
@ -1830,8 +1834,8 @@ function redirect($url, $return = false)
|
||||
}
|
||||
else if (!empty($url_parts['scheme']) && !empty($url_parts['host']))
|
||||
{
|
||||
// Attention: only able to redirect within the same domain (yourdomain.com -> www.yourdomain.com will not work)
|
||||
if ($url_parts['host'] !== $user->host)
|
||||
// Attention: only able to redirect within the same domain if $disable_cd_check is false (yourdomain.com -> www.yourdomain.com will not work)
|
||||
if (!$disable_cd_check && $url_parts['host'] !== $user->host)
|
||||
{
|
||||
$url = generate_board_url();
|
||||
}
|
||||
|
@ -107,7 +107,9 @@ if ($forum_data['forum_type'] == FORUM_LINK && $forum_data['forum_link'])
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
redirect($forum_data['forum_link']);
|
||||
// We redirect to the url. The third parameter indicates that external redirects are allowed.
|
||||
redirect($forum_data['forum_link'], false, true);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Build navigation links
|
||||
|
Loading…
x
Reference in New Issue
Block a user