|
From: Meik S. <acy...@us...> - 2007-09-22 18:21:56
|
Update of /cvsroot/phpbb/phpBB2/includes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6933 Modified Files: functions.php session.php Log Message: #i61 Index: functions.php =================================================================== RCS file: /cvsroot/phpbb/phpBB2/includes/functions.php,v retrieving revision 1.622 retrieving revision 1.623 diff -C2 -d -r1.622 -r1.623 *** functions.php 21 Sep 2007 15:00:40 -0000 1.622 --- functions.php 22 Sep 2007 18:21:58 -0000 1.623 *************** *** 1884,1889 **** // Append SID ! $redirect = (($user->page['page_dir']) ? $user->page['page_dir'] . '/' : '') . $user->page['page_name'] . (($user->page['query_string']) ? "?{$user->page['query_string']}" : ''); ! $redirect = append_sid($redirect, false, false); // Add delimiter if not there... --- 1884,1888 ---- // Append SID ! $redirect = append_sid($user->page['page'], false, false); // Add delimiter if not there... Index: session.php =================================================================== RCS file: /cvsroot/phpbb/phpBB2/includes/session.php,v retrieving revision 1.309 retrieving revision 1.310 diff -C2 -d -r1.309 -r1.310 *** session.php 21 Sep 2007 15:00:40 -0000 1.309 --- session.php 22 Sep 2007 18:21:58 -0000 1.310 *************** *** 52,67 **** // Now, remove the sid and let us get a clean query string... foreach ($args as $key => $argument) { if (strpos($argument, 'sid=') === 0 || strpos($argument, '_f_=') === 0) { ! unset($args[$key]); } } // The following examples given are for an request uri of {path to the phpbb directory}/adm/index.php?i=10&b=2 // The current query string ! $query_string = trim(implode('&', $args)); // basenamed page name (for example: index.php) --- 52,77 ---- // Now, remove the sid and let us get a clean query string... + $use_args = array(); + + // Since some browser do not encode correctly we need to do this with some "special" characters... + // " -> %22, ' => %27, < -> %3C, > -> %3E + $find = array('"', "'", '<', '>'); + $replace = array('%22', '%27', '%3C', '%3E'); + foreach ($args as $key => $argument) { if (strpos($argument, 'sid=') === 0 || strpos($argument, '_f_=') === 0) { ! continue; } + + $use_args[str_replace($find, $replace, $key)] = str_replace($find, $replace, $argument); } + unset($args); // The following examples given are for an request uri of {path to the phpbb directory}/adm/index.php?i=10&b=2 // The current query string ! $query_string = trim(implode('&', $use_args)); // basenamed page name (for example: index.php) |