Seite 1 von 1

2.0.10 zu 2.0.21 update

Verfasst: 24.07.2006 16:37
von nasenkopf
Bei phpbbhacks steht folgende Code Änderung für die login.php:

FIND

Code: Alles auswählen

               $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
               $redirect = str_replace('?', '&', $redirect);

               if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))
               {
                  message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
               }

               $template->assign_vars(array(
                  'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">")
               );

               $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

               message_die(GENERAL_MESSAGE, $message);
            } 
REPLACE WITH

Code: Alles auswählen

            }

            $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
            $redirect = str_replace('?', '&', $redirect);

            if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))
            {
               message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
            }

            $template->assign_vars(array(
               'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">")
            );

            $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' .  sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

            message_die(GENERAL_MESSAGE, $message); 
Der Eintrag, den man finden soll, kommt bei mir in der login.php zwei mal vor. Soll ich dann den code zwei mal replacen?

Verfasst: 24.07.2006 16:47
von rabbit
wenn's nur einmal da steht als FIND, dann musst du immer nur das erste vorkommen nehmen, auch wenn der code öfter in der datei vorkommt.