[RC1] Extended ban manager && [BETA] Ban Suite

Zelf bezig aan een modificatie? Wij kijken graag mee..
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
raymondvlieland
Berichten: 314
Lid geworden op: 16 dec 2004, 18:43
Locatie: Alphen aan den Rijn
Contacteer:

Bericht door raymondvlieland » 13 aug 2005, 14:57

is hij compitable met yellow card mod of heeft hij niks met deze te maken

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 13 aug 2005, 15:00

Yellow card moet toch iets wijzigen in admin_user_ban.php? Dan is hij zonder aanpassing mogelijk niet bruikbaar. Maar dat moet ik nakijken.

raymondvlieland
Berichten: 314
Lid geworden op: 16 dec 2004, 18:43
Locatie: Alphen aan den Rijn
Contacteer:

Bericht door raymondvlieland » 13 aug 2005, 15:02

paulus schreef:Yellow card moet toch iets wijzigen in admin_user_ban.php? Dan is hij zonder aanpassing mogelijk niet bruikbaar. Maar dat moet ik nakijken.
ja heb net de install gecheckt :wink:

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 13 aug 2005, 15:07

Kan je me install voor admin_user_ban.php eens geven?

raymondvlieland
Berichten: 314
Lid geworden op: 16 dec 2004, 18:43
Locatie: Alphen aan den Rijn
Contacteer:

Bericht door raymondvlieland » 13 aug 2005, 15:30

Code: Selecteer alles

# 
#-----[ OPEN ]------------------------------------------------ 
# 
admin/admin_user_ban.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
message_die(GENERAL_ERROR, "Couldn't insert ban_userid
}

# 
#-----[ AFTER, ADD ]----------------------------------------- 
#
	$sql = "UPDATE " . USERS_TABLE . " 
	   SET user_warnings=".$board_config['max_user_bancard']." 
	   WHERE user_id=".$user_list[$i]; 
	if ( !$db->sql_query($sql) ) 
	{ 
	     message_die(GENERAL_ERROR, "Couldn't update users warnings info".$sql, "", __LINE__, __FILE__, $sql); 
	}


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

if ( isset($HTTP_POST_VARS['unban_ip']) )

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
#
if (! empty($where_sql))
{
	$sql = "SELECT ban_userid FROM ".BANLIST_TABLE." 
	   WHERE ban_id IN ($where_sql)"; 
	if ( !($result = $db->sql_query($sql) )) 
	{ 
	   message_die(GENERAL_ERROR, "Couldn't get user warnings info from database".$sql, "", __LINE__, __FILE__, $sql); 
	} 
	while ($user_id_list = $db->sql_fetchrow($result)) 
	{ 
	   $where_user_sql .= ( ( $where_user_sql != '' ) ? ', ' : '' ) . $user_id_list['ban_userid']; 
	} 
	$sql = "UPDATE " . USERS_TABLE . " 
	   SET user_warnings='0' 
	   WHERE user_id IN ($where_user_sql)"; 
	if ( !$db->sql_query($sql) ) 
	{ 
	     message_die(GENERAL_ERROR, "Couldn't update user warnings info from database".$sql, "", __LINE__, __FILE__, $sql); 
	}
}
Codetags zijn handig en overzichtelijk! --bee

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 13 aug 2005, 15:40

Dat moet inderdaad aangepast worden. Ik kan nu helaas niet bij me bestanden, ik moet er morgen even naar kijken :)

ik ben gek
Berichten: 1496
Lid geworden op: 25 mei 2005, 14:09

Bericht door ik ben gek » 13 aug 2005, 15:48

nee he? morgen of overmorgen weer opnieuw downloaden
ben blij dat ik hem nog niet geinstaleerd heb :P

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 13 aug 2005, 15:54

Dat komt niet in die mod zelf, dat moet je doen als je de yellow card hebt geinstalleerd :)

ik ben gek
Berichten: 1496
Lid geworden op: 25 mei 2005, 14:09

Bericht door ik ben gek » 13 aug 2005, 16:36

oh oke

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 13 aug 2005, 18:55

Nieuwe versie:
  • Versie checker toegevoegd.
  • Permanente ban toegevoegd.
  • Bot support(Zie topic in disussie) toegevoegd.
Wat komt er in de volgende versie?
  • Pagination.
  • Ban list(Voor users)
  • Bruikbaar met modcp
  • Multi ban delete
Wat is er nodig om gebruik te maken van bot support?
Hiervoor is allow_url_fopen nodig, omdat er een bestand vanaf mijn site wordt gedownload. Wanneer dit niet aanwezig is, werkt dat onderdeel niet.

Wanneer je wilt updaten:
Vervang de 2 bestanden, en zet het volgende in lang_admin.php erbij:

Code: Selecteer alles

$lang['not_checked_ban'] = 'The banmanager version is not checked. You use version %s. See also <a href="%s">this</a> thread.';
$lang['ok_check_ban'] = 'Your version(%s) is uptodate. <a href="%s">See also this thread!</a>';
$lang['not_ok_check_ban'] = 'Your version(%s) isNOT uptodate. The newest version is %s. <a href="%s">See also this thread!</a>';
$lang['ban_error_check'] = 'There has been a error while I trying to check your version(ERROR: %s)';
$lang['ban_bots'] = 'Add some bots that can spam at your site.';
$lang['ban_reason_bots'] = 'Auto bot ban, by paulscripts.nl';
$lang['bans_added'] = 'There are %s bans automaticly added.';
$lang['perm_ban'] = 'Ban this user permanent!';
De nederlandse vertaling die hierboven is gegevens, heeft deze nog niet. Ik zal morgen in de loop van de dag ook die updaten.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 13 aug 2005, 20:07

Automatische "verbannen"-rang zou ook een mooie toevoeging zijn.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 13 aug 2005, 20:09

Spambot schreef:Automatische "verbannen"-rang zou ook een mooie toevoeging zijn.
Dat doet mosymuis mod, waarvoor op de vorige pagina al een aanpassing staat om hem te laten werken. Maar zal is kijken of het er wil :P(Als het zin heeft wel, anders niet, hij moet wel zelf willen :lol: )

ik ben gek
Berichten: 1496
Lid geworden op: 25 mei 2005, 14:09

Bericht door ik ben gek » 14 aug 2005, 06:47

nog even w8ten dus :P

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 14 aug 2005, 13:29

Nieuwe versie:
NIEUW:
  • Banlist
  • Multi delete bans
  • Pagination
  • Bugfix voor version checker
  • Lang nu eigen file.
Wat komt er in de volgende versie?
  • Ban rank(Spambot manier :P)
  • Apart overicht voor elke ban, zodat de tabel kleiner wordt.
Wat vereist deze mod?
Deze mod vereist voor het bot deel allow_url_fopen. Dit omdat er een file vanaf mijn host dient gedownload te worden. (Dit wordt mogelijk in de volgende versie aangepast).
Tevens vereist het voor de browser van de admin dat deze javascript ondersteund, omdat een groot deel met javascript gebeurt.

Zijn er al vertalingen?
Nee, die zijn er momenteel nog niet. De lang_dutch die eerder was gepost, is niet meer te gebruiken vanaf versie 0.0.6. later deze week zal er een nieuwe lang_Dutch komen.

Wanneer komt er weer een nieuwe versie?
Wanneer ik zin heb, en wanneer er genoeg nieuwe dingen zijn, of zeer ernstige bugfixes.

Waar kan ik deze mod downloaden?
Dat kan hier: http://sourceforge.net/project/showfile ... _id=160312 (Versie 0.0.7).

EDIT:
Klein ding vergeten :P

Is het verplicht om de banlist ook erop te hebben?
Nee, dit is NIET verplicht, en is een los bestand. Je kan dit bestand gewoon weglaten.

ik ben gek
Berichten: 1496
Lid geworden op: 25 mei 2005, 14:09

Bericht door ik ben gek » 14 aug 2005, 14:30

waarom zity het losse bestand er dan bij?

Rich
Berichten: 202
Lid geworden op: 21 feb 2005, 20:00
Locatie: Hellevoetsluis
Contacteer:

Bericht door Rich » 17 aug 2005, 00:21

Warning: file(): URL file-access is disabled in the server configuration in /home/wereldcenter.nl/forum/admin/admin_user_ban.php on line 167

Warning: file(http://www.paulscripts.nl/bots/bots.txt): failed to open stream: no suitable wrapper could be found in /home/wereldcenter.nl/forum/admin/admin_user_ban.php on line 167

Warning: Invalid argument supplied for foreach() in /home/wereldcenter.nl/forum/admin/admin_user_ban.php on line 169

Code: Selecteer alles

//
// Start program
//
if(isset($HTTP_GET_VARS['act']) || isset($HTTP_POST_VARS['delmulti']))
{
	if(isset($HTTP_GET_VARS['act'])){
		$mode = $HTTP_GET_VARS['act'];
	}else{
		$mode = 'delmulti';
	}
	switch($HTTP_GET_VARS['act']){
		case 'delmulti':
			$list = $HTTP_POST_VARS['deletelist'];
			$where_sql = '';
			for($i=0;$i<count($list);$i++){
				$where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . $list[$i]; 
			}
			$sql = "DELETE FROM " . BANLIST_TABLE . " WHERE ban_id IN ($where_sql)";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not delete old ban.', '', __LINE__, __FILE__, $sql);
			}
			$message = $lang['Ban_update_sucessful'] . '<br /><br />' . sprintf($lang['Click_return_banadmin'], '<a href="' . append_sid("admin_user_ban.$phpEx",true) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right",true) . '">', '</a>');
		
			message_die(GENERAL_MESSAGE, $message);		
		break;
		case 'bots':
			set_time_limit(180);
			$ip_list = file('http://www.paulscripts.nl/bots/bots.txt');
			$tot = 0;
			foreach($ip_list as $ip) 
			{
				$ip = encode_ip($ip);
				$sql = "SELECT * FROM ".BANLIST_TABLE." WHERE ban_ip = '$ip'";
				$r = $db->sql_query($sql);
				if(!$r)
				{
					message_die(GENERAL_ERROR,"Could not get IP.","",__LINE__,__FILE__,$sql);
				}
				if(!$db->sql_numrows($r))
				{	
					$tot++;
					$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_ip,reason,reason_private,time,by_id,ban_cookie)
					VALUES ('" . $ip . "','".$lang['ban_reason_bots']."','".$lang['ban_reason_bots']."',0,".$userdata['user_id'].",1)";
					if ( !$db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR,"Could not insert IP.","",__LINE__,__FILE__,$sql);
					}
				}
			}
			message_die(GENERAL_ERROR,sprintf($lang['bans_added'],$tot));
		break;
		case 'view':
			$id = htmlspecialchars($HTTP_GET_VARS['id']);
			$sql = "SELECT b.ban_ip,b.ban_email,b.ban_userid,u.username,b.reason,b.time
			FROM " . BANLIST_TABLE . " b, ".USERS_TABLE." u
			WHERE ban_id = $id AND 
			IF (b.ban_userid <> 0, u.user_id = b.ban_userid,u.user_id = -1)";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not query view ban.', '', __LINE__, __FILE__, $sql);
			}			
			$ban = $db->sql_fetchrow($result);
			$ban['ban_ip'] = decode_ip($ban['ban_ip']);
			$bans = $lang['You_been_banned']."<br />";
			if(!empty($ban['ban_ip']) && $ban['ban_ip'] != '0.0.0.0'){
				$bans .= sprintf($lang['banned_ip'],$ban['ban_ip'])."<br />";
			}
			if(!empty($ban['ban_userid'])){
				$bans .= sprintf($lang['banned_user'],$ban['username'])."<br />";
			}
			if(!empty($ban['ban_email'])){
				$bans .= sprintf($lang['banned_email'],$ban['ban_email'])."<br />";
			}
			if(!empty($ban['reason'])){
				$bans .= sprintf($lang['ban_reason'],nl2br($ban['reason']))."<br />";
			}
			if($ban['time'] == 0){
				$bans .= $lang['perma_ban'];
			}else{
				$bans .= sprintf($lang['ban_untill'],create_date($board_config['default_dateformat'], $ban['time'], $board_config['board_timezone']));
			}
			$bans .= "<br />";
			message_die(CRITICAL_MESSAGE,$bans);
		break;
		case 'delete':
			$id = htmlspecialchars($HTTP_GET_VARS['id']);
			$sql = "DELETE FROM " . BANLIST_TABLE . " WHERE ban_id = '$id' LIMIT 1";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not delete old ban.', '', __LINE__, __FILE__, $sql);
			}
			$message = $lang['Ban_update_sucessful'] . '<br /><br />' . sprintf($lang['Click_return_banadmin'], '<a href="' . append_sid("admin_user_ban.$phpEx",true) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right",true) . '">', '</a>');
		
			message_die(GENERAL_MESSAGE, $message);		
		break;
		case 'edit':
			$id = htmlspecialchars($HTTP_GET_VARS['id']);
			//I delete this, and Insert it new.
			$sql = "DELETE FROM " . BANLIST_TABLE . " WHERE ban_id = '$id' LIMIT 1";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not delete old ban.', '', __LINE__, __FILE__, $sql);
			}
			//No break, because we post a new ban!		
		case 'new':
			//This part is from the orignal admin_user_ban.$phpEx, and modified!
			//The delete section is deleted, because we have a own functie for it!
			$user_bansql = '';
			$email_bansql = '';
			$ip_bansql = '';
		
			$user_list = array();
			if ( !empty($HTTP_POST_VARS['username']) )
			{	
				//It is possible that there is no , I will check it.
				if(eregi(",",$HTTP_POST_VARS['username'])){
					$row = explode(",",$HTTP_POST_VARS['username']);
				}else{
					$row = array();
					$row[]  = $HTTP_POST_VARS['username'];
				}
				for($i = 0;$i<count($row);$i++){
					$this_userdata = get_userdata($row[$i], true);
					if( !$this_userdata )
					{
						message_die(GENERAL_MESSAGE, $lang['No_user_id_specified'] );
					}
			
					$user_list[] = $this_userdata['user_id'];
				}
			}
		
			$ip_list = array();
			if ( isset($HTTP_POST_VARS['ban_ip']) )
			{
				$ip_list_temp = explode(',', $HTTP_POST_VARS['ban_ip']);
		
				for($i = 0; $i < count($ip_list_temp); $i++)
				{
					if ( preg_match('/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})[ ]*\-[ ]*([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/', trim($ip_list_temp[$i]), $ip_range_explode) )
					{
						//
						// Don't ask about all this, just don't ask ... !
						//
						$ip_1_counter = $ip_range_explode[1];
						$ip_1_end = $ip_range_explode[5];
		
						while ( $ip_1_counter <= $ip_1_end )
						{
							$ip_2_counter = ( $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[2] : 0;
							$ip_2_end = ( $ip_1_counter < $ip_1_end ) ? 254 : $ip_range_explode[6];
		
							if ( $ip_2_counter == 0 && $ip_2_end == 254 )
							{
								$ip_2_counter = 255;
								$ip_2_fragment = 255;
		
								$ip_list[] = encode_ip("$ip_1_counter.255.255.255");
							}
		
							while ( $ip_2_counter <= $ip_2_end )
							{
								$ip_3_counter = ( $ip_2_counter == $ip_range_explode[2] && $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[3] : 0;
								$ip_3_end = ( $ip_2_counter < $ip_2_end || $ip_1_counter < $ip_1_end ) ? 254 : $ip_range_explode[7];
		
								if ( $ip_3_counter == 0 && $ip_3_end == 254 )
								{
									$ip_3_counter = 255;
									$ip_3_fragment = 255;
		
									$ip_list[] = encode_ip("$ip_1_counter.$ip_2_counter.255.255");
								}
		
								while ( $ip_3_counter <= $ip_3_end )
								{
									$ip_4_counter = ( $ip_3_counter == $ip_range_explode[3] && $ip_2_counter == $ip_range_explode[2] && $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[4] : 0;
									$ip_4_end = ( $ip_3_counter < $ip_3_end || $ip_2_counter < $ip_2_end ) ? 254 : $ip_range_explode[8];
		
									if ( $ip_4_counter == 0 && $ip_4_end == 254 )
									{
										$ip_4_counter = 255;
										$ip_4_fragment = 255;
		
										$ip_list[] = encode_ip("$ip_1_counter.$ip_2_counter.$ip_3_counter.255");
									}
		
									while ( $ip_4_counter <= $ip_4_end )
									{
										$ip_list[] = encode_ip("$ip_1_counter.$ip_2_counter.$ip_3_counter.$ip_4_counter");
										$ip_4_counter++;
									}
									$ip_3_counter++;
								}
								$ip_2_counter++;
							}
							$ip_1_counter++;
						}
					}

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 17 aug 2005, 09:17

Vorige pagina, bericht met voorwaarde wat je moet hebben, staat allow_url_fopen bij, en dat heb jij niet op jouw server, dus kan je van dat onderdeel geen gebruik maken ;)

Rich
Berichten: 202
Lid geworden op: 21 feb 2005, 20:00
Locatie: Hellevoetsluis
Contacteer:

Bericht door Rich » 17 aug 2005, 17:54

paulus schreef:Vorige pagina, bericht met voorwaarde wat je moet hebben, staat allow_url_fopen bij, en dat heb jij niet op jouw server, dus kan je van dat onderdeel geen gebruik maken ;)
hoe krijg ik dat

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20206
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 17 aug 2005, 18:40

Hoe krijg je wat? :roll:

Rich
Berichten: 202
Lid geworden op: 21 feb 2005, 20:00
Locatie: Hellevoetsluis
Contacteer:

Bericht door Rich » 17 aug 2005, 18:44

paulus schreef:Hoe krijg je wat? :roll:
allow_url_fopen

Gesloten