Problem mit small Profil panel
Verfasst: 21.02.2006 13:08
Zum Glück wurde ich durch einen meiner User darauf aufmerksam gemacht. Sobald man irgendwelche einstellungen ändert kommt immer dieser text das man grundlegende einstellungen geändert habe und den account wieder freischalten muß. Komischerweise funktioniert es auch bei der mailänderung und beim passwort dann kriegt man ne mail und schaltet wieder frei. Aber wenn man Wohnort Avatar flagge oder die zeitzone ändert dann ist der gleiche text nur ohne mail.
Auch ein einspielen der orinal usercp_profile ändert nichts an diesem Fehler sieht es leider so aus als wäre der Fehler schon im mod von anfang an.
Wäre schön wenn sich jemand die usercp_profile mal ansehen könnte und mir helfen kann das problem zu beheben
Ich natürlich schon ein wenig getestet und habe es ( kann ich selbst garned glauben) geschafft das die email richtig geschickt und auch alles richtig angezeigt bekomme im browser. Ich habe für die mails den code auf diesen Hier abgeändert:
und für die account deaktivierung habe ich das so abgeändert obwohl ich mir nicht ganz sicherbin ob ich da nun damit fehler eingebaut habe oder nicht:
so funktioniert auch die an und abmeldung richtig aber nun fehlt mir leider noch das einbauen des richtigen aktivierungskeys.
Dafür ist doch eigentlich dieser orginalteil zuständig oder?
leider bekomme ich es nicht hin das ich den code ohne probleme/fehlermeldung mit einbauen kann.
Würde mich freuen wenn Ihr mir dabei helfen könntet und auch sagen könntet ob ich mit den codeänderungen nun trotzdem die sicherheit gegeben ist oder ob ich nun ein sicherheitsloch damit produziere?
Auch ein einspielen der orinal usercp_profile ändert nichts an diesem Fehler sieht es leider so aus als wäre der Fehler schon im mod von anfang an.
Wäre schön wenn sich jemand die usercp_profile mal ansehen könnte und mir helfen kann das problem zu beheben
Ich natürlich schon ein wenig getestet und habe es ( kann ich selbst garned glauben) geschafft das die email richtig geschickt und auch alles richtig angezeigt bekomme im browser. Ich habe für die mails den code auf diesen Hier abgeändert:
Code: Alles auswählen
if ($pmode == "2")
{
$message = $lang['Profile_updated'] . '<br /><br />'. sprintf($lang['Click_return_profile'], '<a href="' . append_sid("kontrollzentrum.$phpEx") . '">', '</a>') .'<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
}
else if ($pmode == "3")
{
$message = $lang['Profile_updated'] . '<br /><br />'. sprintf($lang['Click_return_profile'], '<a href="' . append_sid("kontrollzentrum.$phpEx") . '">', '</a>') .'<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
}
else if ($pmode == "4")
{
$message = $lang['Profile_updated'] . '<br /><br />'. sprintf($lang['Click_return_profile'], '<a href="' . append_sid("kontrollzentrum.$phpEx") . '">', '</a>') .'<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
}
else
{
//
// The users account has been deactivated, send them an email with a new activation key
//
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
$emailer->use_template('user_activate', stripslashes($user_lang));
$emailer->email_address($email);
$emailer->set_subject($lang['Reactivate']);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $username), 0, 25)),
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '',
'U_ACTIVATE' => $server_url . '?mode=activate&' . POST_USERS_URL . '=' . $user_id . '&act_key=' . $user_actkey)
);
$emailer->send();
$emailer->reset();
$message = $lang['Profile_updated_inactive'] . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
}
Code: Alles auswählen
if ($pmode == "2") {
$user_active = 'user_active';
$user_actkey = 'user_actkey';
}
else if ($pmode == "3") {
$user_active = 'user_active';
$user_actkey = 'user_actkey';
}
else if ($pmode == "4") {
$user_active = 'user_active';
$user_actkey = 'user_actkey';
}
else
{
$user_active = 0;
$user_actkey = gen_rand_string(true);
$key_len = 54 - ( strlen($server_url) );
$key_len = ( $key_len > 6 ) ? $key_len : 6;
$user_actkey = substr($user_actkey, 0, $key_len);
if ( $userdata['session_logged_in'] )
{
session_end($userdata['session_id'], $userdata['user_id']);
}
}
Dafür ist doch eigentlich dieser orginalteil zuständig oder?
Code: Alles auswählen
if( $email != $userdata['user_email'] && $board_config['require_activation'] != USER_ACTIVATION_NONE && $userdata['user_level'] != ADMIN )
Würde mich freuen wenn Ihr mir dabei helfen könntet und auch sagen könntet ob ich mit den codeänderungen nun trotzdem die sicherheit gegeben ist oder ob ich nun ein sicherheitsloch damit produziere?