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

Запрет захода на форум используя прокси сервер


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

Для версии 1.3.

 

Иногда нужно забанить юзера, но юзер зарегистрируется под другим именем испоьзуя прокси. Как сделать так, что бы запретить юзерам заходить на форум используя прокси? Есть ли такой мод уже, мне что-то не встричался.

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

Составлять таблицу проксей с постоянным ручным пополнением и проверять текущий IP адрес юзера запросов в эту таблицу.
Ссылка на комментарий
Поделиться на других сайтах

Можно немного поподробнее. Ведь для юзера не составляет найти новый прокси, хоть моя база будет из 2000 прокси, всё равно сегодня или завтра появится прокси по которому он заново зарегиться и будет молчать что это он, тот человек, которого забанили в прошлый раз. И будет не легко его снова выявить. Надо запретить всем юзерам вход на форум при помощи прокси.
Ссылка на комментарий
Поделиться на других сайтах

никак! если человек хочет зайти на форум- он зайдет.. есть диалап с диапазонами адресов.. прокси как вы уже сказали каждый день новые появляются.. так что это не выход.. проверки на использование прокси вроде не существует....
Ссылка на комментарий
Поделиться на других сайтах

кхм.. а на счет запрета входа определенного пользователя..

в чате с php.spb.ru есть вроде как бан по идентификатору броузера.. причем создатель чата утверждает что этот идентификатор индивидуален.. так может банить по этому ID

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

вообщем вот для раздумий скриптик.. может поможет чем..

сразу говорю ©пёрто чат.пхп.спб.ру

по скрипту..

привязка идет к разрешению монитора и цветности, к самому браузеру -агенту возвращаемому, и если получится к дате создания картинок перечисленных в функции function br_winlist() (работает только под виндой)

по идее можно еще накидать стандартных картинок в функцию function br_winlist()

в оригинале еще была проверка на установленные плагины, но это работало только под ИЭ...

 

на счет оригинальности получаемой строки.. даже не знаю.. попробуйте вообщем.. а как организовать из этого бан думаю сами додумаете

<?php
   function br_info2form() {
   return "<script>document.write(\"".
   "<input type='hidden' name='br_width' value='\"+screen.width+\"'>".
   "<input type='hidden' name='br_height' value='\"+screen.height+\"'>".
   "<input type='hidden' name='br_color' value='\"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth)+\"'>".
   "<input type='hidden' name='br_zone' value='\"+((new Date()).getTimezoneOffset())+\"'>".
   "<input type='hidden' name='br_win' value='\"+br_win()+\"'>".
   "\");</script>\n";
}

   
   function br_winlist() {
   $c="c:/";                           
   $d="{$c}Documents and Settings";
   $p="{$c}Program Files";
   $m="{$p}/Microsoft Office";
   $j="My Documents/My Pictures/Sample.jpg";
   $p1="{$c}winnt";
   $p2="{$c}windows";
   return array(
   "$d/Default User/$j",
   "$d/Administrator/$j",
   "$p/ICQ/Bitmaps/Chat/Smiley0.bmp",
   "$m/Office10/HTML/ctxmsc_opn.gif",
   "$p/Windows NT/Pinball/table.bmp",
   "$p1/winnt.bmp",
   "$p1/system32/ntimage.gif",
   "$p1/Web/bullet.gif",
   "$p1/Web/Wallpaper/Windows 2000.jpg",
   "$p2/winnt.bmp",
   "$p2/system32/ntimage.gif",
   "$p2/Web/bullet.gif",
   "$p2/Web/Wallpaper/Windows XP.jpg",
   );
}

   
   function br_win() {
   return "wlist=['".implode("','",br_winlist())."'];".
   "for (i=0; i<wlist.length; i++) document.write('<img width=0 height=0 id=f'+i+' src=\"'+wlist[i]+'\">');\n".
   "function br_win() \n  {var o='';\n".
   "for (i=0; i<wlist.length; i++) \n
   {o+=' '+i.toString()+'-';".
   "try{eval('o+=(((new Date(f'+i+'.fileCreatedDate)).getTime()/1000).toString())+\"_\"+(((new Date(f'+i+'.fileModifiedDate)).getTime()/1000).toString())')}catch(_E){};".
   "}return o;}\n";
}

function brcode() {
   global $br_width,$br,$br_color,$br_zone,$br_win;
   
   $br=substr(htmlspecialchars(strip_tags(getenv("HTTP_USER_AGENT"))),0,200);
   

   $br_zone=@intval($br_zone);
   $x=floor(doubleval(intval($br_zone))/60.0);
   $br_zone="0";
   if ($x>0 && $x<24) $br_zone=chr(ord('A')+$x-1);
   if ($x<0 && $x>-24) $br_zone=chr(ord('a')-$x-1);

   $br_width=abs(@intval($br_width));
   if ($br_width<2000) $br_width=floor(doubleval($br_width)/200.0);
   else $br_width="x";
 
   
   $br_color=abs(@intval($br_color));
   $br_color=floor(doubleval($br_color)/8);
   if ($br_color>9) $br_color="x";

   
   $br1=substr(md5($br),0,2);
   
   $br3=substr(md5($br_win),0,4);
   return $br3.$br1.$br_zone.$br_color.$br_width;

}
if (count($HTTP_GET_VARS) || !isset($br_width) || !isset($br_height) || !isset($br_color) || 
      !isset($br_zone)) 
   {
   echo "<script>".br_win()."</script>"; 
      echo "<form action='' method=post name=main1>";
      echo br_info2form();
      echo "</form><script>document.main1.submit()</script>";
}  else
{
print_r( brcode());
}

?>

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

Да ну вы что, это уже маразм пошел... Вы еще версии системных файлов и серийники оборудования припишите сюда :D. И пользователь с легкостью сможет залезьть... с другого компа ;)... Или Винду переставит.
Ссылка на комментарий
Поделиться на других сайтах

Другие компы тоже забанить можно.

 

А если для входа на форум пользователю придётся винду переставлять - то праздник таки удался :D

 

Но мысль интересная. Давайте вместе подумаем, какие ещё признаки могут быть уникальными.

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

Тогда уж проще написать тулзу (exe-шник). И требовать от посетителя ее запуска и отправки информации о компе на сервер. Вход так же только при помощи этого ассистента... Еще туда защищенные протоколы можно прикрутить, тяжелые алгоритмы шифрования... Оно вам надо?
Ссылка на комментарий
Поделиться на других сайтах

d1pro

конечно же изврат уже, но иногда бывает - достают.. а больше способов борьбы не предусмотрено.. :D закрывать регистрацию не хочется...

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

d1pro, от exe-шника будут страдать простые юзеры. И как с этим exe-шником под Linux? под BeOS? MacOS? А на КПК? А вот браузеры на всех популярных платформах есть.
Ссылка на комментарий
Поделиться на других сайтах

Balancer

Под все *nix его можно сделать OpenSource (чтоб перекомпилить можно было). КПК... Хм, Java...

Просто по мне все это ерунда. Особенно привязка к браузерам. Об уникальности чего-то там в них вообще молчу (на уникальные серийники процов ой как долго ругались). А привязка к разрешениям и т.п. - не серъезно... Оптимальный вариант - специальный клиент с защищенным доступом :D. Если уж так хочется...

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

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

 

У тебя, видимо, борьба с суперпрофессионалами на тему защиты сугубо бесценной информации от вторжения.

 

Вот спор и идёт о том, кто кого победит, трамвай кита или кит трамвая.

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

  • 4 месяца спустя...

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

 

Так кто-нить реализовал что-нить? или на этом кончилось?

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

Да просто в куки этот бан записать да делов.

Против ламера поможет.

Большинство таких. Просто не догадаются в куки заглянуть.

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

Mitos, нет абсолютно, я про готовое решение кажется спросил. да и одноногое оно получается.

 

Song, ну а если бан временный -) он так всю жизнь и не догадается заглянуть )

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

ну так сам форум этот бан и снимет

нет не снимет, пока будет находится в кукисах так и будет бан, даже если блокировку по IP снимут.

проверено.

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

  • 3 недели спустя...

а как можно сделать из этого...чтобы когда отключался бан в админке не было бана по кукисам...

 

--------------------------------------

 

/sources/functions.php

 

--------------------------------------

 

Найти:

 

----------------------------------------------------------

 

if ($ibforums->vars['ban_ip'])

 

{

 

$ips = explode( "|", $ibforums->vars['ban_ip'] );

 

 

 

foreach ($ips as $ip)

 

----------------------------------------------------------

 

Добавить после:

 

----------------------------------------------------------

 

// Check to see if the banned cookie is set

 

if ($std->my_getcookie('banned')) {

 

$std->Error( array( 'LEVEL' => 1, 'MSG' => 'you_are_banned', 'INIT' => 1 ) );

 

}

 

----------------------------------------------------------

 

Найти:

 

----------------------------------------------------------

 

$ip = preg_replace( "/\*/", '.*' , preg_quote($ip, "/") );

 

 

 

if ( preg_match( "/^$ip/", $ibforums->input['IP_ADDRESS'] ) )

 

{

 

----------------------------------------------------------

 

Добавить после:

 

----------------------------------------------------------

 

if(!$std->my_getcookie('banned')) {

 

$std->my_setcookie('banned', 'yes');

 

}

 

----------------------------------------------------------

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

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

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

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

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

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

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

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

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

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

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

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