Seite 1 von 1

Problem: Visual Confirmation & Internet Explorer

Verfasst: 01.10.2004 09:31
von mescaline
Hallo,

habe am Wochenende auf meinen Board die Visual Confirmation eingebaut da die SPAM Anmeldungen einfach zuviel wurden. Heute habe ich festgestellt, dass im IE der GrafikCode nicht angezeit wird, bei Mozilla/Firebird klappt es.

Kann mir jemand weiterhelfen?

Viele Grüße
mescaline

Verfasst: 01.10.2004 10:38
von Christian_W
Das ist eine png-Grafik. Ein halbwegs aktueller IE sollte die eigentlich anzeigen können.
Mit welcher Version geht es denn nicht?

Gruß Christian

Verfasst: 01.10.2004 12:42
von mescaline
Habe es heute morgen mal auf der Arbeit probiert IE Vers. 6.0.28xx und da war ich eben ein wenig erschrocken!

Verfasst: 01.10.2004 13:54
von Christian_W
Hm, ich hab's mir eben mal angesehen und es geht wirklich nicht.
Hast Du noch andere dynamisch erzeugte Bilder auf diesem Server? (Smilie-Creator, Thumbnails vom Attachment-Mod...)
Wenn die Bilder generell Probleme machen, dürfte es ein Serverproblem sein. Wenn nicht müsste man sich das Script, das die Bilder vom VC erstellt mal genauer ansehen.

Gruß Christian

Verfasst: 01.10.2004 14:14
von mescaline
Hallo Christian,

das Forum ist das einzige was auf dem Server läuft! Seltsamerweise funktioniert es ja mit den Mozilla / Firefox, daher schließe ich mal nen Server Problem aus.
Wenn nicht müsste man sich das Script, das die Bilder vom VC erstellt mal genauer ansehen.
:o in welcher Datei finde ich den Teil und wonach müßte man suchen?

Grüße
mescaline

Verfasst: 01.10.2004 14:30
von mescaline
Hallo,

habe mal die Dateien verglichen dieser Code ist in der user_register.php von der VC zusätzlich drin.

Code: Alles auswählen

	// Visual Confirmation
	$confirm_image = '';
	if (!empty($board_config['enable_confirm']) && $mode == 'register')
	{
		$sql = 'SELECT session_id 
			FROM ' . SESSIONS_TABLE; 
		if (!($result = $db->sql_query($sql)))
		{
			message_die(GENERAL_ERROR, 'Could not select session data', '', __LINE__, __FILE__, $sql);
		}

		if ($row = $db->sql_fetchrow($result))
		{
			$confirm_sql = '';
			do
			{
				$confirm_sql .= (($confirm_sql != '') ? ', ' : '') . "'" . $row['session_id'] . "'";
			}
			while ($row = $db->sql_fetchrow($result));
		
			$sql = 'DELETE FROM ' .  CONFIRM_TABLE . " 
				WHERE session_id NOT IN ($confirm_sql)";
			if (!$db->sql_query($sql))
			{
				message_die(GENERAL_ERROR, 'Could not delete stale confirm data', '', __LINE__, __FILE__, $sql);
			}
		}
		$db->sql_freeresult($result);

		$sql = 'SELECT COUNT(session_id) AS attempts 
			FROM ' . CONFIRM_TABLE . " 
			WHERE session_id = '" . $userdata['session_id'] . "'";
		if (!($result = $db->sql_query($sql)))
		{
			message_die(GENERAL_ERROR, 'Could not obtain confirm code count', '', __LINE__, __FILE__, $sql);
		}

		if ($row = $db->sql_fetchrow($result))
		{
			if ($row['attempts'] > 3)
			{
				message_die(GENERAL_MESSAGE, $lang['Too_many_registers']);
			}
		}
		$db->sql_freeresult($result);
		
		$confirm_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');

		list($usec, $sec) = explode(' ', microtime()); 
		mt_srand($sec * $usec); 

		$max_chars = count($confirm_chars) - 1;
		$code = '';
		for ($i = 0; $i < 6; $i++)
		{
			$code .= $confirm_chars[mt_rand(0, $max_chars)];
		}

		$confirm_id = md5(uniqid($user_ip));

		$sql = 'INSERT INTO ' . CONFIRM_TABLE . " (confirm_id, session_id, code) 
			VALUES ('$confirm_id', '". $userdata['session_id'] . "', '$code')";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Could not insert new confirm code information', '', __LINE__, __FILE__, $sql);
		}

		unset($code);
		
		$confirm_image = (@extension_loaded('zlib')) ? '<img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id") . '" alt="" title="" />' : '<img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=1") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=2") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=3") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=4") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=5") . '" alt="" title="" /><img src="' . append_sid("profile.$phpEx?mode=confirm&id=$confirm_id&c=6") . '" alt="" title="" />';
		$s_hidden_fields .= '<input type="hidden" name="confirm_id" value="' . $confirm_id . '" />';

		$template->assign_block_vars('switch_confirm', array());
	}
da bin ich jetzt aber völlig überfordert :(

Verfasst: 01.10.2004 14:33
von Christian_W
Woran der IE erkennt ob er ein Bild anzeigen kann weiß ich nicht. Anzeigen kann er sie jedenfalls: Beispiel
Da wird wohl irgendetwas falsches in das Bild (in dessen Header) geschrieben, was dann die Anzeige verhindert.
Erzeugt wird das Bild in der includes/usercp_confirm.php

Ich hab grad mal reingeschaut und festgestellt, dass da nicht mit den img-Funktionen von PHP gearbeitet wird.
Da kann ich jetzt auch nicht mehr dazu sagen.

Gruß Christian

Verfasst: 01.10.2004 14:46
von mescaline
Dank dir für deine Hilfe :) vielleicht fällt jemand anderen noch was ein.

Gibt es noch andere Möglichkeiten / Mods als den VC?

Verfasst: 03.10.2004 12:31
von mescaline
Hallo,

habe nochmal ein bisschen rumprobiert, raus bekommen habe ich, dass es an den Styles liegen muss. Mit dem Subsilver Style erscheint der Code. Hat jemand ne Idee wo ich ansetzen muss?

Verfasst: 03.10.2004 14:32
von mescaline
Problem behoben:

In den jeweiligen Styles Ordner mit den Original board_config_body.tpl (admin) und profile_add_body.tpl aus dem Subsilver Style die Dateien überschrieben, jetzt geht es!