Seite 1 von 1

Bestätigungs Code Registrierung - Änderung in Zahlenreihe

Verfasst: 26.08.2005 10:17
von hissshack
Hallo,

ab phpbb 2.0.15 (oder schon vorher, bin mir nicht sicher) ist dieser
Bestätigungscode bei der Registrierung eingeführt worden.

Dabei wird ein ne Zeichenreihe generiert die via Bild ausgegeben
wird und die der Nutzer bei er Registrierung zu bestätigen hat.

Ich würde die die Zeichenreihe gern durch eine pure Zahlenreihe
ersetzen wollen und zwar an der Stelle an der sie generiert wird.
Leider find ich die Stelle nicht.

Danke im Voraus

Verfasst: 26.08.2005 10:22
von Markus67
Hi ...

includes/usercp_confirm.php

Markus

Verfasst: 26.08.2005 11:25
von hissshack
Hi Markus,
danke erst mal ... und gleich die nächste Frage.
für das ganze ist folgender Code zuständig so wies aussieht:

Code: Alles auswählen

$confirm_id = htmlspecialchars($HTTP_GET_VARS['id']);

// Define available charset
$chars = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',  'U', 

'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9');
//$chars = array('1', '2', '3', '4', '5', '6', '7', '8', '9');

if (!preg_match('/^[A-Za-z0-9]+$/', $confirm_id))
{
	$confirm_id = '';
}

// Try and grab code for this id and session
$sql = 'SELECT code  
	FROM ' . CONFIRM_TABLE . " 
	WHERE session_id = '" . $userdata['session_id'] . "' 
		AND confirm_id = '$confirm_id'";
$result = $db->sql_query($sql);

// If we have a row then grab data else create a new id
if ($row = $db->sql_fetchrow($result))
{
	$db->sql_freeresult($result);
	$code = $row['code'];
}
else
{
	exit;
}
das charset anders zu setztn reicht nicht aus da so weis aussieht
der Code über die Session bezogen wird .. hm
kannst Du mir eventuell weiterhelfen. Danke Dir

Verfasst: 26.08.2005 12:19
von hissshack
habs inzwischen gelöst und zwar so:

IN /includes/usercp_confirm.php FIND

Code: Alles auswählen

if (!preg_match('/^[A-Za-z0-9]+$/', $confirm_id))
{
	$confirm_id = '';
}
ADD AFTER

Code: Alles auswählen

		srand ((double)microtime()*1000000);
		$pw = rand(10000, 1000000000);
		$pw = substr("$pw", 0, 6);
		$pw = ereg_replace ("0", "7", $pw);

mysql_query("UPDATE " . CONFIRM_TABLE . " SET code = '$pw' WHERE session_id = '" . $userdata['session_id'] . "' 
		AND confirm_id = '$confirm_id'");
funzt ganz gut ... obs die beste Lösung ist fraglich.