Captcha auf eigenen Seiten benutzen ?!

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Roachh
Mitglied
Beiträge: 21
Registriert: 14.05.2007 19:07
Kontaktdaten:

Captcha auf eigenen Seiten benutzen ?!

Beitrag 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
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag 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
Roachh
Mitglied
Beiträge: 21
Registriert: 14.05.2007 19:07
Kontaktdaten:

Beitrag von Roachh »

dankeschön, gleich mal ausprobieren :)
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“