Toezenden nieuw wachtwoord

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Php
Berichten: 687
Lid geworden op: 21 mei 2003, 01:46
Locatie: Achterhoek
Contacteer:

Toezenden nieuw wachtwoord

Bericht door Php » 12 mei 2005, 17:52

Ik heb een probleem. Als men het wachtwoord vergeet en men vraagt om een nieuwe, dan is er een fout met het toesturen van email. De fout zit dan in regel 32 van usercp_sendpassword.php

Dit is regel 32:

$email = ( !empty($HTTP_POST_VARS['email']) ) ? trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['email']))) : '';

Code: Selecteer alles

<?php
/***************************************************************************
 *                           usercp_sendpasswd.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: usercp_sendpasswd.php,v 1.6.2.11 2003/05/03 23:24:03 acydburn Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *
 ***************************************************************************/

if ( !defined('IN_PHPBB') )
{
	die('Hacking attempt');
	exit;
}

if ( isset($HTTP_POST_VARS['submit']) )
{
	$username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
	$email = ( !empty($HTTP_POST_VARS['email']) ) ? trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['email']))) : '';

	$sql = "SELECT user_id, username, user_email, user_active, user_lang 
		FROM " . USERS_TABLE . " 
		WHERE user_email = '" . str_replace("\'", "''", $email) . "' 
			AND username = '" . str_replace("\'", "''", $username) . "'";
	if ( $result = $db->sql_query($sql) )
	{
		if ( $row = $db->sql_fetchrow($result) )
		{
			if ( !$row['user_active'] )
			{
				message_die(GENERAL_MESSAGE, $lang['No_send_account_inactive']);
			}

			$username = $row['username'];
			$user_id = $row['user_id'];

			$user_actkey = gen_rand_string(true);
			$key_len = 54 - strlen($server_url);
			$key_len = ( $str_len > 6 ) ? $key_len : 6;
			$user_actkey = substr($user_actkey, 0, $key_len);
			$user_password = gen_rand_string(false);
			
			$sql = "UPDATE " . USERS_TABLE . " 
				SET user_newpasswd = '" . md5($user_password) . "', user_actkey = '$user_actkey'  
				WHERE user_id = " . $row['user_id'];
			if ( !$db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, 'Could not update new password information', '', __LINE__, __FILE__, $sql);
			}

			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_passwd', $row['user_lang']);
			$emailer->email_address($row['user_email']);
			$emailer->set_subject($lang['New_password_activation']);

			$emailer->assign_vars(array(
				'SITENAME' => $board_config['sitename'], 
				'USERNAME' => $username,
				'PASSWORD' => $user_password,
				'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();

			$template->assign_vars(array(
				'META' => '<meta http-equiv="refresh" content="15;url=' . append_sid("index.$phpEx") . '">')
			);

			$message = $lang['Password_updated'] . '<br /><br />' . sprintf($lang['Click_return_index'],  '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

			message_die(GENERAL_MESSAGE, $message);
		}
		else
		{
			message_die(GENERAL_MESSAGE, $lang['No_email_match']);
		}
	}
	else
	{
		message_die(GENERAL_ERROR, 'Could not obtain user information for sendpassword', '', __LINE__, __FILE__, $sql);
	}
}
else
{
	$username = '';
	$email = '';
}

//
// Output basic page
//
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
	'body' => 'profile_send_pass.tpl')
);
make_jumpbox('viewforum.'.$phpEx);

$template->assign_vars(array(
	'USERNAME' => $username,
	'EMAIL' => $email,

	'L_SEND_PASSWORD' => $lang['Send_password'], 
	'L_ITEMS_REQUIRED' => $lang['Items_required'],
	'L_EMAIL_ADDRESS' => $lang['Email_address'],
	'L_SUBMIT' => $lang['Submit'],
	'L_RESET' => $lang['Reset'],
	
	'S_HIDDEN_FIELDS' => '', 
	'S_PROFILE_ACTION' => append_sid("profile.$phpEx?mode=sendpassword"))
);

$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 12 mei 2005, 18:02

Ik zie daar niets fouts aan... upload eens de originele versie.
Afbeelding

Php
Berichten: 687
Lid geworden op: 21 mei 2003, 01:46
Locatie: Achterhoek
Contacteer:

Bericht door Php » 12 mei 2005, 18:17

Heb ik gedaan. Precies hetzelfde. Wat ik wel heb, is een autodelete functie van niet postende leden, en die kreeg ik ook maar niet aan de gang. Kan het conflicteren met andere files?

Dit is de exacte foutmelding:

Code: Selecteer alles

Fatal error: Call to undefined function: phpbb_clean_username() in /home/emaatkamp/domains/christen-zijn.nl/public_html/includes/usercp_sendpasswd.php on line 32

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 12 mei 2005, 19:10

Dan is je forumversie (of iig die van functions.php) < 2.0.11. Updaten dus!
Afbeelding

Php
Berichten: 687
Lid geworden op: 21 mei 2003, 01:46
Locatie: Achterhoek
Contacteer:

Bericht door Php » 12 mei 2005, 19:18

Tja een hacker had mijn forum gedumpt, en toen heb ik met een nieuwe installatie van phpbb 2.015 de installatie gedaan, en mijn oude phpbb 2.10 files gewoon gebruikt. Moet ik dan gewoon weer een nieuwe installatie doen met 2.10?

Want updaten van 2.20 naar 2.15 zal wel lang duren met al die handmatige aanpassingen, dat moet vanwege de vele mods die ik heb.,

Ed

Php
Berichten: 687
Lid geworden op: 21 mei 2003, 01:46
Locatie: Achterhoek
Contacteer:

Bericht door Php » 12 mei 2005, 19:39

Ik heb het originele file van de 2.10 versie nu gebruikt, nu werkt het weer.

Gebruikersavatar
ukkepuk
Berichten: 324
Lid geworden op: 22 jan 2005, 19:36
Locatie: België
Contacteer:

Bericht door ukkepuk » 12 mei 2005, 19:44

ik zou je toch aanraden om de update van de files te doen!
in die oude files zitten namelijk veel "gaten" en "lekken" in zodat je forum gemakkelijk te hacken is.

Php
Berichten: 687
Lid geworden op: 21 mei 2003, 01:46
Locatie: Achterhoek
Contacteer:

Bericht door Php » 12 mei 2005, 19:49

Ik zal het doen, maar volgens mij lopen bij mij versie 2.6 en 10 door elkaar. Alles werkt wel goed ;)

Ik zal op http://www.phpbbhacks.com de code wijzigngen eens doorkijken.

Gesloten