Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[BETA] Cookie Ban

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

[BETA] Cookie Ban

Сообщение Coagulant »

Пользоатели, забаненные по имени, будут баниться по кукам. Этот вариант защиты легко обходится, но, в отличие от других методов, не создает неудобств другим пользователям.

Код: Выделить всё

################################################################# 
## 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
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Никогда не видел мод CyberAlien, но знаю что это вполне уважаемый человек. Чем вызвано написание ремейка?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
APPLE
phpBB 1.0.0
Сообщения: 3
Стаж: 19 лет

Сообщение APPLE »

Coagulant
спасибо за ссылку. Может кто-нибудь еще заинтересуется если я оставлу ссылку на эту тему? Система супер бана
Мне кажется если уже есть куки бан то полдела уже сделано :roll: хотя я профан и могу ошибаться :roll:
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Вот ссылка на оригинальный мод.

Действует просто: пользователям ставится дополнительная кука $cookiename . '_lastid', которая содержит id участника, под которым он в последний раз зашел на форум. При проверке бана по ip эта кука проверяется на наличие id в банлисте.

По сравнению с кодом CyberAlien добавлена проверка на id = -1, т.е. кука для гостей не ставится, чтобы корректно забанить тех, у кого отключена опция "Автоматически входить при каждом посещении". Ну и всё оформлено в виде мода, естественно.

Добавлено спустя 2 минуты 55 секунд:

APPLE
Полдела - это громко сказано :roll: Но против ламеров, которые не умеют чистить cookies браузера, самое то.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5277
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 790 раз

Сообщение Siava »

Coagulant
А этот мод будет совместим с "Красной кнопкой"? :roll:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Siava писал(а):А этот мод будет совместим с "Красной кнопкой"?
У меня мод не качается. По идее, почему бы им не быть совместимым? Мой мод надстраивается над стандартным баном по имени юзера, не затрагивая его.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5277
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 790 раз

Сообщение Siava »

Coagulant
А мод "красная кнопка" банит посетителей по нику, а гостей по IP..
То есть, если их сочетать... :roll:
блин, у меня ведь ещё YK.. всё, запутался напрочь :mrgreen:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
imasmoker
phpBB 1.4.1
Сообщения: 48
Стаж: 18 лет 10 месяцев

Сообщение imasmoker »

Coagulant

Код: Выделить всё

FIND FAILED: In file [includes/sessions.php] could not 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);
вот такая штука, с чем это может быть связано как пофиксить, может ли это быть связано с модом который уберает sid для гвестов
phpBB 2.0.19
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Аналогичный мод, проще в установке, лучше по функционалу:

[BETA] MOD Ban_cookie: Ban users with a cookie
http://www.phpbb.com/phpBB/viewtopic.php?t=336690

Сам не тестил, но должно работать.

Вернуться в «Бета-версии модов для phpBB 2.0.x»