Seite 1 von 1
Captcha auf eigenen Seiten benutzen ?!
Verfasst: 27.11.2007 20:43
von Roachh
Hallo,
ich würde gerne diese Captcha Funktion auf meinen selbst erstellten Seiten benutzen, also die Seiten werden von PHPBB3 generiert.
hat sich damit schonmal jemand beschäftigt?
Danke und mfG
Roachh
Verfasst: 27.11.2007 21:59
von Dave
Code: Alles auswählen
if ($submit)
{
$confirm_id = request_var('confirm_id', '');
$confirm_code = request_var('confirm_code', '');
if (!$confirm_id)
{
$error[] = $user->lang['CONFIRM_CODE_WRONG'];
}
else
{
$sql = 'SELECT code
FROM ' . CONFIRM_TABLE . "
WHERE confirm_id = '" . $db->sql_escape($confirm_id) . "'
AND session_id = '" . $db->sql_escape($user->session_id) . "'
AND confirm_type = " . CONFIRM_IRGENDWAS;
$result = $db->sql_query($sql);
$confirm_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($confirm_row)
{
if (strcasecmp($confirm_row['code'], $confirm_code) === 0)
{
$sql = 'DELETE FROM ' . CONFIRM_TABLE . "
WHERE confirm_id = '" . $db->sql_escape($confirm_id) . "'
AND session_id = '" . $db->sql_escape($user->session_id) . "'
AND confirm_type = " . CONFIRM_IRGENDWAS;
$db->sql_query($sql);
}
else
{
$error[] = $user->lang['CONFIRM_CODE_WRONG'];
}
}
else
{
$error[] = $user->lang['CONFIRM_CODE_WRONG'];
}
}
}
$user->confirm_gc(CONFIRM_IRGENDWAS);
$sql = 'SELECT COUNT(session_id) AS attempts
FROM ' . CONFIRM_TABLE . "
WHERE session_id = '" . $db->sql_escape($user->session_id) . "'
AND confirm_type = " . CONFIRM_IRGENDWAS;
$result = $db->sql_query($sql);
$attempts = (int) $db->sql_fetchfield('attempts');
$db->sql_freeresult($result);
if ($uaf_config['max_act_attempts'] && $attempts > $uaf_config['max_act_attempts'])
{
trigger_error('TOO_MANY_ACTIVATES');
}
$code = gen_rand_string(mt_rand(5, 8));
$confirm_id = md5(unique_id($user->ip));
$seed = hexdec(substr(unique_id(), 4, 10));
// compute $seed % 0x7fffffff
$seed -= 0x7fffffff * floor($seed / 0x7fffffff);
$sql = 'INSERT INTO ' . CONFIRM_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'confirm_id' => (string) $confirm_id,
'session_id' => (string) $user->session_id,
'confirm_type' => (int) CONFIRM_IRGENDWAS,
'code' => (string) $code,
'seed' => (int) $seed)
);
$db->sql_query($sql);
$template->assign_vars(array(
'CONFIRM_ID' => $confirm_id,
'CONFIRM_IMG' => '<img src="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=confirm&id=' . $confirm_id . '&type=' . CONFIRM_IRGENDWAS) . '" alt="" title="" />',
'L_ACTIVATE_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>'),
));
Ich hoffe mal ich habe alles.
CONFIRM_IRGENDWAS mußte dann nur noch ändern und in der constans.php hinzufügen.
MfG
Dave
Verfasst: 28.11.2007 08:32
von Roachh
dankeschön, gleich mal ausprobieren
