Код: Выделить всё
#################################################################
## MOD Title: Cookie Ban
## MOD Author: Coagulant < profit@nm.ru > (n/a) http://www.phpbbguru.net
## MOD Description: Users banned by name are now banned via cookies as well.
##
## MOD Version: 0.0.1
## Installation Level: Easy
## Installation Time: 3 min (1 min by EasyMOD of Nuttzy)
## Files To Edit: includes/sessions.php
## Included Files: N/A
##############################################################
## For Security Purposes, Please Check: http://www.phpbbguru.net/mods/ for the
## latest version of this MOD.
##############################################################
## Author Notes:
##
## Remake of CyberAlien's mod.
##
#################################################################
## MOD History:
##
## 2005-04-09 - Version 0.0.1
## - Initial Release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
includes/sessions.php
#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT ban_ip, ban_userid, ban_email
FROM " . BANLIST_TABLE . "
WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . "ff', '" . $user_ip_parts[1] . $user_ip_parts[2] . "ffff', '" . $user_ip_parts[1] . "ffffff')
OR ban_userid = $user_id";
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Cookie Ban Begin
if ( isset($HTTP_COOKIE_VARS[$cookiename . '_lastid']) )
{
$sql .= " OR ban_userid = '" . intval($HTTP_COOKIE_VARS[$cookiename . '_lastid']) . "'";
}
// Cookie Ban End
#
#-----[ FIND ]------------------------------------------
#
$userdata['session_time'] = $current_time;
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Cookie Ban Begin
if ( $userdata['user_id'] != ANONYMOUS )
{
setcookie($cookiename . '_lastid', $userdata['user_id'], $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
}
// Cookie Ban End
#
#-----[ FIND ]------------------------------------------
#
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);
}
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Cookie Ban Begin
if ( $userdata['user_id'] != ANONYMOUS )
{
setcookie($cookiename . '_lastid', $userdata['user_id'], $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
}
// Cookie Ban End
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM