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

Только одна регистрация с одного 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? По-моему разработчики обещали осуществить такую настройку в админке, а там ничего нет. (
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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