Seite 1 von 1

Versuch der Verhinderung automatischer Anmeldungen

Verfasst: 09.01.2007 20:30
von Miriam
Hallo,

nun kommt auch hier ein Beitrag meinerseits zum Thema: Wie halte ich mir diese lästigen automatischen SPAM Bot Anmeldungen vom Leibe?

Die Idee ist, die agreed Variable mit einem sich ändernden Variablennamen zu ersetzen. Die Ersetzung erfolgt einfach durch das Aufrufen des ACP. So sollte es den SPAM Bots nicht mehr so leicht fallen mit Standardwerten zum Ziel zu kommen.

Naja... und hier ist er ----> Download
Sieht mehr aus, als es ist, da ich die meisten Codes auch bei nur kleinen Änderung komplett ausgetauscht habe habe

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------
#
function show_coppa()
{
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$agreed = $board_config['agreed'];
#
#-----[ FIND ]------------------------------------------
#
function show_coppa()
{
	global $userdata, $template, $lang, $phpbb_root_path, $phpEx;
#
#-----[ REPLACE WITH ]------------------------------------------
#
function show_coppa()
{
	global $userdata, $template, $lang, $phpbb_root_path, $phpEx, $agreed;
#
#-----[ FIND ]------------------------------------------
#
		"U_AGREE_OVER13" => append_sid("profile.$phpEx?mode=register&agreed=true"),
		"U_AGREE_UNDER13" => append_sid("profile.$phpEx?mode=register&agreed=true&coppa=true"))
#
#-----[ REPLACE WITH ]------------------------------------------
#
		"U_AGREE_OVER13" => append_sid("profile.$phpEx?mode=register&$agreed=true"),
		"U_AGREE_UNDER13" => append_sid("profile.$phpEx?mode=register&$agreed=true&coppa=true"))
#
#-----[ FIND ]------------------------------------------
#
if ( $mode == 'register' && !isset($HTTP_POST_VARS['agreed']) && !isset($HTTP_GET_VARS['agreed']) )
#
#-----[ REPLACE WITH ]------------------------------------------
#
if ( $mode == 'register' && !isset($HTTP_POST_VARS[$agreed]) && !isset($HTTP_GET_VARS[$agreed]) )
#
#-----[ FIND ]------------------------------------------
#
	$s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />';
#
#-----[ REPLACE WITH ]------------------------------------------
#
	$s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="' . $agreed . '" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />';
#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_avatar.php
#
#-----[ FIND ]------------------------------------------
#
function check_image_type(&$type, &$error, &$error_msg)
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$agreed = $board_config['agreed'];
#
#-----[ FIND ]------------------------------------------
#
	$s_hidden_vars = '<input type="hidden" name="sid" value="' . $session_id . '" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="avatarcatname" value="' . $category . '" />';
#
#-----[ REPLACE WITH ]------------------------------------------
#
	$s_hidden_vars = '<input type="hidden" name="sid" value="' . $session_id . '" /><input type="hidden" name="' . $agreed . '" value="true" /><input type="hidden" name="avatarcatname" value="' . $category . '" />';

#
#-----[ OPEN ]------------------------------------------
#
admin/admin_users.php
#
#-----[ FIND ]------------------------------------------
#
$html_entities_replace = array('<', '>');
#
#-----[ AFTER, ADD ]------------------------------------------
#
$agreed = $board_config['agreed'];
#
#-----[ FIND ]------------------------------------------
#
			$s_hidden_fields = '<input type="hidden" name="mode" value="edit" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" /><input type="hidden" name="avatarcatname" value="' . $category . '" />';
#
#-----[ REPLACE WITH ]------------------------------------------
#
			$s_hidden_fields = '<input type="hidden" name="mode" value="edit" /><input type="hidden" name="' . $agreed . '" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" /><input type="hidden" name="avatarcatname" value="' . $category . '" />';
#
#-----[ FIND ]------------------------------------------
#
		$s_hidden_fields = '<input type="hidden" name="mode" value="save" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />';
#
#-----[ REPLACE WITH ]------------------------------------------
#
		$s_hidden_fields = '<input type="hidden" name="mode" value="save" /><input type="hidden" name="' . $agreed . '" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />';
#
#-----[ OPEN ]------------------------------------------
#
admin/index.php
#
#-----[ FIND ]------------------------------------------
#
	$template->pparse("body");

	include('./page_footer_admin.'.$phpEx);

}
else
#
#-----[ BEFORE, ADD ]------------------------------------------
#
	$sql = "SELECT config_value FROM " . CONFIG_TABLE . " WHERE config_name = 'rand_seed'";
	if( !$result = $db->sql_query ($sql) )
	{
	         $error = $db->sql_error();
	         $agreed_err1 =  '+++ <font color="#FF0000"><b>Error:</b></font> ' . $error['message'];
	}
	$row = $db->sql_fetchrow($result);
	$rand_seed = $row['config_value'];
	$sql = "UPDATE " . CONFIG_TABLE . " SET `config_value` = '" . $rand_seed . "' WHERE `config_name` = 'agreed'";
	if( !$result = $db->sql_query ($sql) )
	{
	         $error = $db->sql_error();
	         $agreed_err2 = '+++ <font color="#FF0000"><b>Error:</b></font> ' . $error['message'];
	}
	$template->assign_vars(array(
	                 'AGREED_ERROR1' => "<p>$agreed_err1</p>",
	                 'AGREED_ERROR2' => "<p>$agreed_err2</p>",
	                 'AGREED_VALUE' => " $rand_seed</p>",
	                 'L_AGREED_VALUE' =>"<p>" . $lang['Actual_agreed_value']
	         )
	);
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/admin/index_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<h1>{L_VERSION_INFORMATION}</h1>

{VERSION_INFO}
#
#-----[ AFTER, ADD ]------------------------------------------
#
{AGREED_ERROR1}
{AGREED_ERROR2}
{L_AGREED_VALUE}{AGREED_VALUE}
#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['Actual_agreed_value'] = 'The recent agreed-variable is: ';
#
#-----[ OPEN ]------------------------------------------
#
language/lang_german/lang_admin.php
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['Actual_agreed_value'] = 'Die aktuelle agreed-Variable lautet: ';
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Probiert ihn aus und sagt, was ihr dazu meint. Es gehört auch eine DB_Update Datei dazu. Also ladet ihn Euch komplett herunter.
Verbesserungsvorschläge sind ebenfalls herzlich willkommen. :grin:

Verfasst: 09.01.2007 20:43
von nickvergessen
von der Idee her für gut befunden. Der Praxis test wurde gestartet ;)

Verfasst: 09.01.2007 21:12
von Miriam
Ich hatte erst überlegt, ob ich auch noch TRUE (also das zu dem agreed) gegen einen Zufallswert austauschen sollte....

Verfasst: 07.02.2007 14:35
von nickvergessen
kleines Add-On, :D
damit man sich wieder registrieren kann. ;)

Code: Alles auswählen

#
#-----[ SQL ]------------------------------------------
#
INSERT INTO phpbb_config (config_name, config_value) VALUES('agreed', 'lollige_Sache');
Sach mal Miriam wie konntest du das vergessen ;)
mal ne Frage, wie machst du das eigentlich, das die variable beim einloggen ins ACP geändert wird?
edit: ok habs gefunden

Re: Versuch der Verhinderung automatischer Anmeldungen

Verfasst: 07.02.2007 15:33
von Miriam
Miriam hat geschrieben:...Es gehört auch eine DB_Update Datei dazu...
Hab's nicht vergessen. 8)

Verfasst: 07.02.2007 16:35
von nickvergessen
naja du hast hier also den ganzen MOD reingemacht, außer dem SQL-Befehl und ich wunder mich warum nichts mehr geht ;)
naja jetzt ist es ja erwänt, falls nochjemand wie ich nur den Thread ließt und nicht den MOD herunterläd