Пропустить

[BETA] Cookie Ban

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!

[BETA] Cookie Ban

Сообщение Coagulant » 09.04.2005 13:27

Пользоатели, забаненные по имени, будут баниться по кукам. Этот вариант защиты легко обходится, но, в отличие от других методов, не создает неудобств другим пользователям.
################################################################# 
## 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
Аватара пользователя
Coagulant
Former team member
 
Сообщения: 958
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 11.04.2005 7:23

Никогда не видел мод CyberAlien, но знаю что это вполне уважаемый человек. Чем вызвано написание ремейка?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5493
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение APPLE » 11.04.2005 9:28

Coagulant
спасибо за ссылку. Может кто-нибудь еще заинтересуется если я оставлу ссылку на эту тему? Система супер бана
Мне кажется если уже есть куки бан то полдела уже сделано :roll: хотя я профан и могу ошибаться :roll:
Аватара пользователя
APPLE
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 11.04.2005 9:18
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Coagulant » 11.04.2005 21:13

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

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

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

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

APPLE
Полдела - это громко сказано :roll: Но против ламеров, которые не умеют чистить cookies браузера, самое то.
Аватара пользователя
Coagulant
Former team member
 
Сообщения: 958
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Siava » 15.04.2005 19:27

Coagulant
А этот мод будет совместим с "Красной кнопкой"? :roll:
Генератор db_update-файлов для phpBB 2.0
Еще одно нарушение правил и будете забанены.
© Mr. Anderson
Аватара пользователя
Siava
phpBB 3.0.5
 
Сообщения: 2580
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Сообщение Coagulant » 15.04.2005 20:08

Siava писал(а):А этот мод будет совместим с "Красной кнопкой"?
У меня мод не качается. По идее, почему бы им не быть совместимым? Мой мод надстраивается над стандартным баном по имени юзера, не затрагивая его.
Аватара пользователя
Coagulant
Former team member
 
Сообщения: 958
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Siava » 16.04.2005 0:19

Coagulant
А мод "красная кнопка" банит посетителей по нику, а гостей по IP..
То есть, если их сочетать... :roll:
блин, у меня ведь ещё YK.. всё, запутался напрочь :mrgreen:
Генератор db_update-файлов для phpBB 2.0
Еще одно нарушение правил и будете забанены.
© Mr. Anderson
Аватара пользователя
Siava
phpBB 3.0.5
 
Сообщения: 2580
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Сообщение imasmoker » 11.07.2005 0:04

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

imasmoker
phpBB 1.4.1
 
Сообщения: 48
Зарегистрирован: 11.06.2005 19:29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Coagulant » 07.01.2006 16:30

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

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

Сам не тестил, но должно работать.
Аватара пользователя
Coagulant
Former team member
 
Сообщения: 958
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


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

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы