Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Запрет постинга с анонимных проксей

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Речь идет вот о чем. Пускай ходит, читает, но при добавлении поста - получает ошибку. В этически аспекты давайте не будем вдаваться - помогите. пиз, это реализовать.
 
Я написала: так:
 
post.cgi
 
$inforum       = $forum;
$intopic       = $topic;
$inmembername  = $membername;
$inpassword    = $password;
$inpostno      = $postno;
$innotify      = $notify;
$currenttime   = time;
my $postipaddress = "$ENV{'HTTP_X_FORWARDED_FOR'}-$ENV{'REMOTE_ADDR'}-$ENV{'HTTP_PROXY_CONNECTION'}-$ENV{'HTTP_VIA'}";  
my $IPproxy ="$ENV{'HTTP_X_FORWARDED_FOR'}";
 
а потом:
 
if ($IPproxy eq ""){
&error("Использование анонимных прокси запрещено&Пользуйтесь открытыми источниками");
}
 
И поставила это в sub addreply
 
Сюда:
 
if ($lastpost > $currenttime)  {
   &error("Отправка ответа&Контроль флуда запущен в конференции, Вам нужно подождать $floodcontrollimit секунд, что бы создать новую тему");
                }
            }
##Типа бан прокси
if ($IPproxy eq ""){
&error("Использование анонимных прокси запрещено&Пользуйтесь открытыми источниками");
}
##end

  if ($userregistered eq "no") {&error("добавление сообщения&Незарегистрированный пользователь"); }
  elsif ($inpassword ne $password) { &error("добавление сообщения&Неправильный пароль"); }
  elsif ($membercode eq "banned")  { &error("добавление сообщения&Вы исключены из списков пользователей нашей конференции"); }
  elsif ($inpost eq "") { &error("Создание темы&Нужно ввести текст сообщения"); }
  else { # start else
 
Не канает
 
Суть какая - если удаленная машина не передает переменную HTTP_X_FORWARDED_FOR, то не давать постить.  
Чую, что моя ошибка какая-то очень примитивная, типа не там я это делаю или что-то в этом духе....  
 
Помогите это дорыть, плиз...
 
Добавлено

Цитата:
if ($IPproxy eq ""){  
&error("Использование анонимных прокси запрещено&Пользуйтесь открытыми источниками");  
}  

 
Так я тоже пробовала:
 
if ($IPproxy = "")
 
Хотя все никак не могу уяснить различие. Ну одно строковое, другое не строковое, не могу понять все равно.
 
Добавлено
Так. Оно канает оказывается, только не дает постить и мне тоже - из-под нормального родного прокси.
 
 
Че делать то...?

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 16:15 03-05-2003 | Исправлено: lynx, 16:21 03-05-2003
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx

Цитата:
my $postipaddress = "$ENV{'HTTP_X_FORWARDED_FOR'}-$ENV{'REMOTE_ADDR'}-$ENV{'HTTP_PROXY_CONNECTION'}-$ENV{'HTTP_VIA'}";

я вот это не догнал.
Это ты что от чего отнимаешь?
 
Как-то непонятно. Если у тебя $IPproxy eq "", так это значит, что ты наоборот под проксями (анон.) сидишь?

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 23:24 03-05-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shurik
 
 
Цитата:
my $postipaddress =
 "$ENV{'HTTP_X_FORWARDED_FOR'}-$ENV{'REMOTE_ADDR'}-$ENV{'HTTP_PROXY_CONNECTION'}-$ENV{'HTTP_VIA'}";
 
 я вот это не догнал.
Это ты что от чего отнимаешь?
 

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

Цитата:
 
 
Как-то непонятно. Если у тебя $IPproxy eq "", так это значит, что ты наоборот под проксями
(анон.) сидишь?

 
Ну, смотри, читаем:
 
my $IPproxy ="$ENV{'HTTP_X_FORWARDED_FOR'}";  
if ($IPproxy =""){
&error("Использование анонимных прокси запрещено&Пользуйтесь открытыми источниками");
}
 
Если переменная HTTP_X_FORWARDED_FOR не передается, то пишем ошибку, правильно?
 
Ну, видимо мой прокси сервер ее не передает. Он он мой, родной. Он не публичный, то есть закрыт от внешних сетей, то есть ты, например, его заюзать не можешь, а я могу, если вхожу через свою циску. Но он не передает эту переменную. И, кстати, не только он один - я сегодня народ просила тестить с разных подключений. Короче, это не правильный выход с запретом постинга с проксей, потому что куча народу входит с проксей, стоящих между Нетом и LAN-ом, и многие эти прокси не передают HTTP_X_FORWARDED_FOR. Самое прикольное, что emc-овы навороты с соксами и прочими фишками анонимности - они эту переменную, видимо, каку-то таки посылают, уж  не знаю, сами ли ее изобретают или берут где лол, но при его извратах как раз можно было постить, а простой юзер не мог с работы там или с учебы, понимаешь?
 
Вот тут:
http://forum.ru-board.com/topic.cgi?forum=21&topic=1695#12
Конечно покруче.... но не знаю...  

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 05:08 04-05-2003
Shurik



Главком. флейма
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx
сдаюсь.
я с проксями, соксами и тп не имел дел...

----------
Metal Bands...

Всего записей: 3171 | Зарегистр. 11-06-2001 | Отправлено: 10:03 04-05-2003
batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx

Цитата:
Не канает  

 
А ты уверена, что в $ENV{'HTTP_X_FORWARDED_FOR'}было пусто, когда ты тестила?
 
Проверь!
добавь в post.cgi
 

Код:
 
print header();
print $ENV{'HTTP_X_FORWARDED_FOR'};
exit;  
 

 

Цитата:
Суть какая - если удаленная машина не передает переменную HTTP_X_FORWARDED_FOR, то не давать постить.

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

Цитата:
Вот тут:  
http://forum.ru-board.com/topic.cgi?forum=21&topic=1695#12  
Конечно покруче.... но не знаю...

 
Тоже вода..
 
Проверить прокси можно либо сравнивая IP с некой базой данных, в которой хранятся заведомо известные прокси, либо делая запрос через него, и анализируя, но это очень долго..
Хотя скорость работы post.cgi не так критична, верно?
 

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 11:23 04-05-2003
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
batva
 

Цитата:
скорость работы post.cgi не так критична, верно?  

 
Вот, нет, как раз не верно, сильно критично, т.к. пользователи жалуются на низкую скорость постинга. Я выкинула фильтр мата, запрет писать красным для юзеров - был такой наворот у меня - локально все стало очень шустренько, на сервер не залила еще, т.к. еще одну багу не поймала, но лишние тормоза при постинге не нужны. По возможности, конечно...
 
 

Цитата:
ты уверена, что в $ENV{'HTTP_X_FORWARDED_FOR'}было пусто, когда ты тестила?  
 
Проверь!  

 
Угу, проверю...
 
 

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

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

Цитата:
Проверить прокси можно либо сравнивая IP с некой базой данных, в которой хранятся заведомо известные прокси

 
Ну, это в принципе приемлимо в некотором роде. Можно надрать этих проксей+ можно периодически юзать софтину, их сканящую, есть такая, и обновлять список. Но дело в том, что у меня стоит стандартный хак бана по IP, то есть список IP проксей заносится в файл построчно (одна строка - один IP), а потом из всех скриптов вызывается (require) файл ipban.cgi, который смотрит, совпадает ли IP посетителя с одной из строк файла со списком айпишников. То есть, я к чему, если этот файл будет содержать слишком большой список IP, то начнутся тормоза ведь. Так?
 
 

Цитата:
либо делая запрос через него, и анализируя

 
Эээ, а попонятнее?
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 14:41 04-05-2003
batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
То есть, я к чему, если этот файл будет содержать слишком большой список IP, то начнутся тормоза ведь. Так?  

 
В общем то так.
Хотя смотря по какому алгоритму искать вхождение.
 
Если просто читать файл построчно, и сравнивать на предмет совпадения, то при большом размере файла, ест-но будут некоторые тормоза.
 
А если, например, все упихать в мускул, и сделать по этому полю индекс, то операция проверки на вхождение заданного IP будет очень быстрой, даже при условии, что будет сотни тысяч строк...
 
Но список проксей трудно держать актуальным, все ты не охватишь, ибо все время появляются новые, старые умирают, итд итп...
 

Цитата:
Цитата:либо делая запрос через него, и анализируя  
 
 
Эээ, а попонятнее?  

 
Ну тут все просто.
 
Представь, в самом простом случае, как бы ты руками проверила IP, на предмет публичного прокси сервиса по этому адресу?
 
Ты имеешь некий адрес (в нашем случае это REMOTE_ADDR)
 
Теперь ты в настройках браузера вбиваешь его как прокси, порт либо 80, 8080 либо 3128 как самые распространенные.
Теперь ты запрашиваешь некую страницу, которая тебе светит переменные окружения.
Если страница открылась, значит прокси сервис есть, и он публичный.
 
Теперь ты смотришь, что на той странице высвечивается  
HTTP_X_FORWARDED_FOR
REMOTE_ADDR
 
если там твоего IP нет, значит прокси анонимный.
 
Вот так в простом случае?
 
Вот тоже самое, можно сделать в скрипте post.cgi
 
Но сия процедура очень тормозная
 
Скажу тебе по секрету, на Руборде работает первый метод. (по списку известных публичных прокси)
И работает он на каждый реквест любого скрипта, а не только post.cgi и включается не всегда, а только при "тревоге в ружье"
 
 
 
 
 

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 18:50 04-05-2003
webdeveloper



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну а что это даст? Забанить пользователя чтоб он больше не постил - невозможно. У большенста пользователей IP меняется после повторонного сойденения с провайдером

Всего записей: 1373 | Зарегистр. 30-05-2002 | Отправлено: 08:11 29-05-2003
batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
webdeveloper

Цитата:
 
Ну а что это даст? Забанить пользователя чтоб он больше не постил - невозможно. У большенста пользователей IP меняется после повторонного сойденения с провайдером
 

 
Смысл не в том, чтобы забанить человека, а в том, чтобы защититься от массового спама.
 
Идем  регим сотню/две/три аккаунтов, форумы, которые защищены от автоматической регистрации, придется руками регить, а что делать? (а там где разрешено постить гостям, еще проще)
 
Далее скрипт перебирает аккаунты и спамит.
Банить по никам? Нет смысла, а что делать?
Ест-но банить прокси, ибо спамер не дурак, чтобы делать реконекты и спамить из под IP адресов своего провайдера.
Ведь могут же и по голове прийти настучать, верно?
 
 
 
 

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 12:12 29-05-2003
webdeveloper



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
batva
yasno, spasibo

Всего записей: 1373 | Зарегистр. 30-05-2002 | Отправлено: 12:45 29-05-2003
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Несколько вопросов, наверное, наивных.
 
Если закрыть все прокси, включая неанонимные - много честного юзверя пострадает? Это реализуемо?
 
Если пользователь пришел через неанонимную проксу, в *.thd что прописывается - IP прокси-сервера? Тогда чем анонимная отличается для админа конфы от неанонимной?
 
Спасибо.

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 15:27 01-10-2004 | Исправлено: Marilda, 15:28 01-10-2004
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Тогда чем анонимная отличается для админа конфы от неанонимной?

Плохая анонимная - ничем. Хорошая не выдаёт настоящий адрес.
Хорошие продаются свободно пучок за пятачок (100 хороших за 1уе) почти где попало.
 
Добавлено

Цитата:
сли закрыть все прокси, включая неанонимные - много честного юзверя пострадает? Это реализуемо?

Большинство народа сидящего с работы. Файры и прокси там имхо весьма частая ситуация

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 16:46 01-10-2004 | Исправлено: edogs, 22:14 01-10-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Marilda

Цитата:
 много честного юзверя пострадает?

 
Зависит от форума. На ру-борде много сразу вырубится народу.
 

Цитата:
Если пользователь пришел через неанонимную проксу, в *.thd что прописывается - IP прокси-сервера?

 
Да.
 

Цитата:
Тогда чем анонимная отличается для админа конфы от неанонимной?  

 
Тем, что неаноминмая еще выдает IP компа, который ее заюзал, то есть реальный IP
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 20:38 01-10-2004
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
edogs, lynx, спасибо.
 
lynx

Цитата:

Цитата:
Цитата:Тогда чем анонимная отличается для админа конфы от неанонимной?
 
Тем, что неаноминмая еще выдает IP компа, который ее заюзал, то есть реальный IP  

Это понятно Где она выдает, если не в *.thd?  
Т.е. где можно посмотреть данные типа 123.45.67.89 via proxy [67.89.12.34]
 
Я понимаю, что анонимных прокси ОЧЕНЬ много. Насколько реально загрузить в банлист или в htaccess если не полный, то очень мощный их список? Тормозов не добавится? Кто-то делал?

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 01:02 02-10-2004
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Я понимаю, что анонимных прокси ОЧЕНЬ много. Насколько реально загрузить в банлист или в htaccess если не полный, то очень мощный их список? Тормозов не добавится? Кто-то делал?

Кое-кто этим активно увлекается. Но
1) Анонимный от неанонимного не факт что отличишь. Представим ситуацию (жутко абстрактную, но в целом передающую суть), троян у кого-нибудь на машине расшаривающий прокси и лезущий в инет через настройки IE пользователя. А в настройках указан проксик обычного прова. Скольких вырубишь закрыв доступ с проксика прова? Там же фигня с организациями.
2) 1000 проверенных анонимных свеженьких прокси стоит порядка 1уе (процентов 50% будет рабочих). Списки из 10000 валяются нахаляву, но там меньше процент рабочих.  
 
Отсюда вывод: блокируя прокси
рискуешь: заблокировать хорошего юзера, проксик провайдера, проксик организации
отсутствие реальной защиты: 1вмз для злобного хакера за 1000 прокси из которых 800 будет рабочих и наверняка ещё не в списке (ибо свежие) совсем не дорого
По поводу списка: видели в продаже список из 100000 прокси. Насколько блокировка их всех затормозит не знаем честно говоря, пусть профи выскажутся. Мы бы не рискнули.
 
Мораль: нет смысла заморачиваться. Никакого.
 
P.S.: Честно говоря можем ошибаться с выводами

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 01:15 02-10-2004 | Исправлено: edogs, 01:17 02-10-2004
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
edogs
Проксик обычного прова закрывать не хочется. В том и идея, чтоб выходили через прова. Кто хочет нагадить, обычно специально, ручками, выходит через прокси.
А никто не сталкивался с анонимайзерами? Когда каждую минуту разный айпи, сейчас канадский, через минуту штатовский, ещее через минуту еще какой-то. Средства есть против этого? Конфа сугубо русскоязычная и руки чешутся позакрывать зарубежные анонимные лазейки, оставив зарубежщикам выходить только через провов.

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 01:41 02-10-2004
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А никто не сталкивался с анонимайзерами?

Так ведь мы об этом и говорим. У нас "по долгу службы" всегда есть около 100 IP которые как проксики "нормальным" образом не определишь. a4proxy тулза, позволяет менять их на лету, подделывать хидеры такие как Client-IP, x-forwarded-for и любые другие.
Поэтому закрывать что-либо по IP абсолютно бесполезно, два клика мышой и мы уже определяемся как другой ИП, другой браузер, другая ОС и т.д.
 
Если форум чисто рускоязычный, то можно поискать geoip (платная базовая вроде стоит 50уе + ежемесячная подписка каких-то денег стоит - может в варезнике найдешь) - и блочить по региональному признаку (только россию пускать). Если не обвинят в расизме - поможет  
Но опять же, хочется оставить "зарубежщиков". Ок.
 
В конце концов если это стало реальной проблемой, то у зарубежщиков нередко постоянные IP, или по крайней мере всё время в одной подмаске.
Тогда можно допустим пропускать всю россию (российские проксики более или менее редки), и только те IP которые _лично_ подтверждены админом. Ну или по крайней мере пускать только зарегеных, а регистрацию пусть подтверждают админы.

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 02:11 02-10-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Marilda

Цитата:
Т.е. где можно посмотреть данные типа 123.45.67.89 via proxy [67.89.12.34]  

 
Где угодно, где пропишешь Для этого надо прописать запись переменных окружения. У меня сделано так, например в post.cgi
 

Код:
 
$postipaddress = "HTTP_X_FORWARDED_FOR: $ENV{'HTTP_X_FORWARDED_FOR'} - REMOTE_ADDR: $ENV{'REMOTE_ADDR'} - HTTP_PROXY_CONNECTION: $ENV{'HTTP_PROXY_CONNECTION'} - HTTP_VIA: $ENV{'HTTP_VIA'} - HTTP_FORWARDED: $ENV{'HTTP_FORWARDED'} - HTTP_CLIENT_IP: $ENV{'HTTP_CLIENT_IP'} - HTTP_USER_AGENT: $ENV{'HTTP_USER_AGENT'} - HTTP_USERAGENT_VIA: $ENV{'HTTP_USERAGENT_VIA'}";  
 

 

Цитата:
 Насколько реально загрузить в банлист или в htaccess если не полный, то очень мощный их список? Тормозов не добавится?

 
Добавится. Лучше в .htaccess, тогде легче, плюс он поддерживает подстановочные символы, например *
 

Цитата:
 можно поискать geoip (платная базовая вроде стоит 50уе + ежемесячная подписка каких-то денег стоит - может в варезнике найдешь) - и блочить по региональному признаку  

 
Есть такое, но не найдешь - дорогая, и ставится она на уровне сервера - тебе прав не хватит.
 

Цитата:
В конце концов если это стало реальной проблемой

 
Да, если что-то произошло, надо решать административными мерами. Что случилось то?

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 02:59 02-10-2004
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 можно поискать geoip (платная базовая вроде стоит 50уе + ежемесячная подписка каких-то денег стоит - может в варезнике найдешь) - и блочить по региональному признаку  


Цитата:
Есть такое, но не найдешь - дорогая, и ставится она на уровне сервера - тебе прав не хватит.

Хм.
1) Дорогая или не найдешь?
 
2) По поводу "на уровне сервера"
а) Available as a web service for $20 per 200,000 queries. No software or databases to install. (200.000 запросов в месяц на их сервер за 20 баков)
 
б) Open Source binary API available for the following languages: ... PHP... (исходник API доступен на PHP ), может конечно на уровне сервера и надо что-то ставить, но мы ничего не увидели http://www.maxmind.com/app/country , можем ошибаться.
 
Добавлено
Есть ещё один "подлый" способ, правда за него могут и наехать.
Мы его один раз на заказ реализовывали.
Мысль в том, что приходит IP. Сервак хостерский сам коннектится через этот IP, через наиболее популярные порты (80/8080/3128 ....) сам к себе, как через проксик. Если соединение проходит и данные самого сервака не видны, значит "оппа" мы поймали анонимный прокси - смело заносим в бан.
Почти уверены в незаконности этого способа, но отсеет очень много проксиков.

Всего записей: 1777 | Зарегистр. 25-07-2004 | Отправлено: 03:21 02-10-2004
Marilda

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
 

Цитата:
Лучше в .htaccess, тогде легче

 
.htaccess - в каждую папку /forumN/ кидать или достаточно в корневую папку, где вся борда?
 

Цитата:
плюс он поддерживает подстановочные символы, например *  

 
Скажем, надо закрыть 123.456.ххх.ххх - 123.789.ххх.ххх.
Можно с * написать как-то покороче, чем
Deny from 123.456.0.0/255.255.255.0
Deny from 123.457.0.0/255.255.255.0
Deny from 123.458.0.0/255.255.255.0
?

Всего записей: 381 | Зарегистр. 24-10-2002 | Отправлено: 00:36 05-10-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Запрет постинга с анонимных проксей


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru