Cricca Gästebuch: Spam-Einträge ooohne Ende

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Moin moin

also ich hab Advanced Visual Confirmation eingebaut.
Bei der Registrierung sieht das nun anders aus...seht gut.

Aber im Gästebuch ist das Teil nun ganz weg... :cry: :cry: :cry:

http://www.forum-haushalt.de/hilfe/spam.jpg

Den Code von "Upgrade Visual Confirmation to Advanced Visual Confirmation for Cricca Guestbook" kann ich in keiner Datei finden.
Also weder in der guestbook.php noch in der includes/usercp_confirm.php.

Und nun ?????????
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Hallo DreamPromise,

hier die Anleitung von AmigaLnk:

Code: Alles auswählen

 #
#----------[ INSTRUCTION ]-------------------------------
#
# Delete the guestbook_confirm.php
# Provide a copy of usercp_confirm.php with the name guestbook_confirm.php
#
# Lösche die guestbook_confirm.php
# Erstell eine copy der usercp_confirm.php und nenne sie guestbook_confirm.php. Dann gilt:
 #
 #
 #----------[ OPEN ]-------------------------------------
 #

 guestbook_confirm.php

#
 #----------[ FIND ]-------------------------------------
 #

 if ($confirm_id === 'Admin')
 {
    if ( !$userdata['session_logged_in'] )
    {
       die('Hacking attempt');
     exit;
    }
    $code = 'SAMPLE';
    $font_debug = true;
}
else
 {

   // 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;
}
}

#
#----------[ REPLACE WITH ]-----------------------------
#

// Try and grab code for this id and session
$sql = 'SELECT code
      FROM ' . GUESTBOOK_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;
}
.
#
#----------[ OPEN ]-------------------------------------
#

guestbook.php

#
#----------[ FIND ]-------------------------------------
#

$confirm_image = (@extension_loaded('zlib')) ? '<img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id") . '" alt="" title="" />' : '<img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=1") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=2") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=3") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=4") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=5") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=6") . '" alt="" title="" />';

#
#----------[ REPLACE WITH ]-----------------------------
#

 $confirm_image = '<img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id") . '" alt="" title="" />';

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM
lg
4seven
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Moin moin

also den Teil mit der guestbook_confirm.php hab ich geändert.

Aber die Sache:

guestbook.php

#
#----------[ FIND ]-------------------------------------
#

$confirm_image = (@extension_loaded('zlib')) ? '<img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id") . '" alt="" title="" />' : '<img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=1") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=2") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=3") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=4") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=5") . '" alt="" title="" /><img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id&c=6") . '" alt="" title="" />';

#
#----------[ REPLACE WITH ]-----------------------------
#

$confirm_image = '<img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id") . '" alt="" title="" />';

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
kann ich in meiner guestbook.php nicht finden...hmmmm

DP
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Hallo DreamPromise,

bin da auch am rätseln. Denke mal, es bezieht sich auf eine Vorgängerversion vom Cricca.


Anyway, probier mal:


FINDE:

Code: Alles auswählen

//-- mod : visual confirmation for cricca guestbook ------------------------------------------------
//-- add
$confirm_image = '';
if (!empty($guest_config['visual_confirm']) && !$userdata['session_logged_in'])
{
	$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 ' .  GUESTBOOK_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 ' . GUESTBOOK_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'] > $guest_config['confirm_attempts'])
		{
			message_die(GENERAL_MESSAGE, $lang['Too_many_comments']);
		}
	}
	$db->sql_freeresult($result);

	// Generate the required confirmation code
	// NB 0 (zero) could get confused with O (the letter) so we make change it
	$code = dss_rand();
	$code = substr(str_replace('0', 'Z', strtoupper(base_convert($code, 16, 35))), 2, 6);

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

	$sql = 'INSERT INTO ' . GUESTBOOK_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 = '<img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id") . '" alt="" title="" />';
	$s_hidden_fields .= '<input type="hidden" name="confirm_id" value="' . $confirm_id . '" />';

	$template->assign_block_vars('switch_confirm', array());
}
//-- fin mod : visual confirmation for cricca guestbook --------------------------------------------
ERSETZE MIT:

Code: Alles auswählen

 //-- mod : visual confirmation for cricca guestbook 
$confirm_image = '<img src="' . append_sid("guestbook.$phpEx?mode=confirm&id=$confirm_id") . '" alt="" title="" />';
//-- fin mod : visual confirmation for cricca guestbook 
Datei vorher sichern.

lg
4seven
Zuletzt geändert von 4seven am 27.12.2007 11:07, insgesamt 1-mal geändert.
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Moin moin

also mit deiner Lösung geht es auch nicht....schade.
Vielleicht sollte ich das so lassen wie es nun ist:
Eingeloggte User können ohne einen Code Einträge machen.
Gäste bekommen keinen Eintrag hin da sie den einzugebenden Code nicht sehen ;-)
Vielleicht auch eine Lösung...

Danke dir trotz alldem für deine Ausdauer .. und wünsch dir noch einen schönen 2ten Weihnachtsfeiertag ...

DP
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Auch nochmal (nachträglich) :oops:

Falls noch Interesse besteht, funk mal den Admin dieses Forums an. Bei dem gehts :wink:

Wenn du es schaffst, wäre es schön, wenn du hier die Lösung postest.

lg
4seven
Wahnfried
Mitglied
Beiträge: 39
Registriert: 09.01.2007 09:04
Kontaktdaten:

Beitrag von Wahnfried »

hat sich diesbezüglich irgendetwas ergeben?
ciao

WahnFried
Wahnfried
Mitglied
Beiträge: 39
Registriert: 09.01.2007 09:04
Kontaktdaten:

Beitrag von Wahnfried »

..so habe mich mal durchgekämpft,
..war eigentlich gar nicht schwer, aber da ich ja nur ein spezialist für halbheiten bin..... :roll:

falls es noch aktuell ist und jemand die lösung benötigt um im Cricca 2.3.0 den avc mod zu integrieren.....soll heissen Cricca 2.3.0 ist schon installiert und erst später wurde der AVC installiert.
der AVC bringt eine eigene usercp_confirm.php mit.
diese muss nach dem aufspielen geändert werden...

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------------
#
includes/usercp_confirm.php

#
#-----[ FIND ]------------------------------------------------
#
$sql = 'SELECT code
  FROM ' . CONFIRM_TABLE . "
  WHERE session_id = '" . $userdata['session_id'] . "'
	  AND confirm_id = '$confirm_id'";

#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : visual confirmation for cricca guestbook ------------------------------------------------
//-- remove
// $sql = 'SELECT code
//  FROM ' . CONFIRM_TABLE . "
//  WHERE session_id = '" . $userdata['session_id'] . "'
//	  AND confirm_id = '$confirm_id'";
//-- add
$table_name = ( $activate_cricca_guestbook ) ? GUESTBOOK_CONFIRM_TABLE : CONFIRM_TABLE;
$sql = 'SELECT code
	FROM ' . $table_name . "
	WHERE session_id = '" . $userdata['session_id'] . "'
  		AND confirm_id = '$confirm_id'";
//-- fin mod : visual confirmation for cricca guestbook --------------------------------------------

#
ist ja eigentlich auch logisch, da dieser eintrag bei der installation von Cricca gemacht wurde und dann bei der installation von AVC überschrieben wurde.
manchmal sieht man den wald vor bäumen nicht... :oops:
ciao

WahnFried
Antworten

Zurück zu „phpBB 2.0: Mod Support“