Перейти к контенту

Только одна регистрация с одного IP


Рекомендуемые сообщения

А как быть, если в Register.php есть это:

	//-----------------------------------------
	// Is this email addy taken? CONVERGE THIS??
	//-----------------------------------------

	if ( $this->ipsclass->converge->converge_check_for_member_by_email( $in_email ) == TRUE )
	{
		$form_errors['email'][] = $this->ipsclass->lang['reg_error_email_taken'];
	}

IPB 2.1.3

Заранее спасибо!

Ссылка на комментарий
Поделиться на других сайтах

А что нужно сделать, чтоб только хх.хх.хх. (с точкой, но без четвертого значения) добавлялось в бан лист и при удалении пользователя- автоматически удалялось.
Ссылка на комментарий
Поделиться на других сайтах

2MotoDen

Это оно, похоже, и есть. Просто видимо у вас с addictedtobass разница в версиях 2.0.х и 2.1.х

Ссылка на комментарий
Поделиться на других сайтах

Song,

спасибо, но не работает!

Сделал как в первом посте темы, так регистрация прошла...

На второй же странице есть инфа как сделать ограничение уже для 2.1.х. Вот только как сделать блокировку регистраций с одного ip для 2.1.х?

Ссылка на комментарий
Поделиться на других сайтах

Song,

спасибо, но не работает!

Сделал как в первом посте темы, так регистрация прошла...

На второй же странице есть инфа как сделать ограничение уже для 2.1.х. Вот только как сделать блокировку регистраций с одного ip для 2.1.х?

Для 2.0.х было так

$DB->simple_exec_query(array('select' => '*', 'from' => 'members', 'where' => "ip_address='{$ibforums->input['IP_ADDRESS']}'"));
	if ($DB->get_num_rows())
	{
		$this->show_reg_form('err_no_multi_ips');
		return;
	}

Переделать вроде просто, только не фурычит :D

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
  • 5 месяцев спустя...
  • 4 месяца спустя...

Jax, твой способ сработал.

А теперь вопрос. Как еще по мак-адресу сделать проверку?

Но чтобы я как админ мог через админку зарегить... это важно.

Ссылка на комментарий
Поделиться на других сайтах

M-K, видать тебя кто-то очень сильно достал..

В HTTP-заголовках нет мак-адреса. Придется юзать arp (вариант для винды):

 

$remoteIp = rtrim($_SERVER['REMOTE_ADDR']);
$location = rtrim(`arp -a $remoteIp`);
print_r($remoteIp.$location);//display
$location = preg_replace('/\s+/', 's', $location);
$location = split('\s',$location);//
$num=count($location);//get num of array elements
$loop=0;//start at array element 0
while ($loop<$num)
{
if ($location[$loop]==$remoteIp)
{
$loop=$loop+1;
echo "<h1>Client MAC Address:- ".$location[$loop]."</h1>";
$_SESSION['MAC'] = $loop;
return;
}
else {$loop=$loop+1;}
}

 

сработает только, если пользователь подключен к тебе напрямую. Роутеры мак-адрес зарезают.

Ещё можно попробовать netbios. Google it.

Ссылка на комментарий
Поделиться на других сайтах

vAlex_, да есть 1 человек, кто действительно достал.

 

К сожелению мне не хватает знаний, чтобы понять как использовать то, что ты написал. Я так понял в нужной мне локалке роутеры, а не концентраторы?

Ссылка на комментарий
Поделиться на других сайтах

Жаль что так. А ведь другие движки форумов могут... впервые я досадую по IPB.
Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...

Как я понимаю готового решения нет ещё...

А жаль...

Покупать неохото ибо я ради интереса спросил, малоли у кого есть, непомешало бы а так мне не горит

Ссылка на комментарий
Поделиться на других сайтах

Есть, только это не значит его бесплатность.
Ссылка на комментарий
Поделиться на других сайтах

Ааа, вы вынесли мой мозг... >__< Для 2.3.5.

 

/sources/action_public/register.php

 

Найти:

 

		//-----------------------------------------
	// USERNAME: Is this name already taken?
	//-----------------------------------------

 

Добавить ПЕРЕД:

 

		//-----------------------------------------
	// IP_ADDRESS : Already taken?
	//-----------------------------------------

	$ip_check = $this->ipsclass->DB->simple_exec_query(array('select' => 'id',
												 'from'	  => 'members',
												 'where'  => "ip_address='{$this->ipsclass->ip_address}'",
										)		);
	if( $ip_check['id'] )
	{
		die('Кто-то с вашим IP-адресом уже зарегистрирован на форуме!');
	}

 

Если хочется красоты - вместо die(); прописываем ошибку через $form_errors (там же рядышком куча примеров, в других проверках).

Изменено пользователем WildRAID
Ссылка на комментарий
Поделиться на других сайтах

А я бы всё-равно сделал красиво - через уникальный ключ.
Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...
Мужики, а как для трёшки поставить ограничение на регистрацию акков с одного IP? По-моему разработчики обещали осуществить такую настройку в админке, а там ничего нет. (
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.