![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| koyot |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.7.2006 Репутация: нет Всего: нет |
Помогите - горю!!!
Мне нужно закрыть доступ конкретного клиентского компьютера к моему сайту или, если не закрыть полный доступ, то хотя бы ограничить его возможности(не дать возможность зарегистрироваться и т.д.). Блокировка по IP не подходит. какими способами это можно реализовать? |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Опишите проблему подробнее. Что именно делают с этого конкретного компьютера и в какой ситуации? Проблема в поведении пользователя-человека или бота? Что происходит: попытка DOS-атаки, спам через Вашу форму, захват управления через дыру типа SQL-инъекции... ? В зависимости от этого защита будет разной. Опишите СВОЮ КОНКРЕТНУЮ проблему. Поскольку общего решения не существует. Достоверно пользователя идентифицировать нельзя
В общем случае идентифицировать пользователя можно двумя путями:
HTTP-заголовки легко подделываются, например, тем же скриптом на PHP. IP на уровне HTTP-протокола подделать нельзя, но можно подменить, используя прокси. Все же на протяжении некоторого промежутка времени обычно IP сохраняется, количество доступных IP не безгранично. Заголовки хоть и могут быть указаны произвольные, но для данного пользователя в них можно проследить закономерность. Кстати, отсутствие какого-то заголовка из тех, на которые Вы хотели рассчитывать - тоже информация. HTTP_REFERER неожиданный или отсутствует в ситуации, где не должен - информация. USER_AGENT из блек-листов, отсутствует или меняется при одном и том же идентификаторе сессиии или IP - информация. Правда, с IP тут нужно быть осторожнее, возможны и легальные случаи. Возьмите на заметку и анализируйте дальше. В форме есть кнопка <input type='image'/> и Вы видите несколько запросов с одинаковой точкой нажатия - информация Запросы с похожим набором заголовков через равные или очень быстрые промежутки времени - информация Запросы с повторяющимися парамметрами - информация Запросы с явным поиском распространенных уязвимостей в параметрах - информация И т.д. Ни на один из вышеперечисленных моментов сам по себе расчитывать нельзя. Каждый из них может быть подменен. Но что-нибудь да забудут. Покопайтесь в логах, если нужно, скриптом составьте более подробные логи. Найдите профиль своего пользователя. И отсекайте его запросы по этим особенностям. Только нужно учесть, что и пользователь, если заинтересован в Вашем ресурсе, может менять поведение. Вообще, вернусь к началу. Опишите проблему. Может, в Вашем случае защита должна состоять в том, чтобы сделать использование ресурса неэффективным, неинтересным для злонамеренного пользователя. Может, где-то добавить барьер в виде дополнительного этапа верификации пользователя. Смотреть нужно -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| koyot |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.7.2006 Репутация: нет Всего: нет |
Golda, вот суть проблемы: у меня на сайте пользователь регистрируется и занимается спамом. У меня есть, так называемый, "чёрный список", куда заносятся подобные товарищи. IP адрес у него динамический. Я бы без вопросов заблокировал всю подсеть, но тут вновь засада - он научился пользоваться прокси. тут я и зашёл в тупик.
|
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
koyot в какойто теме я приводил пример. ИМХО: узнать как можно больше об компьютере пользователя и если он злодей то эти индификаторы в бан и баста
-------------------- Amazing |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Надо разбираться с конкретным случаем.
Все так же - поиски способа не прекратить спам, а заблокировать клиентский компьютер.
|
|||
|
||||
| koyot |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.7.2006 Репутация: нет Всего: нет |
GeneralElectric, вот по этому поводу я и прошу помощи. Просто не знаю, какой ещё способ придумать.
может, возможно как-нибудь определить МАС адрес карты или ID материнки? Это сообщение отредактировал(а) koyot - 29.1.2008, 23:51 |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Поищите, что общего в запросах этого пользователя помимо IP. Временный бан по IP, кстати, можно использовать и в этом случае, если научиться определять профиль его запросов.
Если есть четкие особенности поведения, можете по ним отсекать запросы. Используется бот или работает человек? Может, полуавтомат? На что больше похоже? Если бот, может просто добавите какой-нибудь этап типа CAPTCHA?
Средствами чистого php - невозможно. Разве что MAC адрес машины из локальной сети. PHP на сервере работает. А данные нужны - клиента. Причем такие, к которым javascript доступа не имеет. Разве что у пользователя кстати окажется установлен какой-нибудь ActiveX, получающий такую информацию. Тогда javascript к нему доступ получит. Но это уже из области вирусов. Попробуйте проанализировать сами спам-сообщения. Может, удастся выделить достаточно много общего, чтобы блокировать обработку таких сообщений. Можно усилить этот вариант временным баном по IP. Как минимум, усложните спамеру жизнь, заставив чаще прокси менять. Анализируйте заголовки запроса. Что общего между двумя запросами? Что отличается? Какой поднабор заголовков используется...? -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Если вкратце, то минимум, который можно сделать, что бы обнаружить таких спамеров
Конечно-же в этой схеме может случится, что под фильтр попадет обычный пользователь, но вероятность этого очень мала, т.к. ни один разумный пользователь не будет сидеть в интернете через тормазнутые публичные проксики (за исключением как-раз тех случаев, когда необходимо скрыть IP). Это конечно не панацея, т.к. бывают еще платные проксики (не путать с платными прокси-листами - это просто список публичных прокси за деньги) и прокси-трояны. Но если при помощи первых вряд-ли кто-то реально будет скрывать свой IP (т.к. это очень накладно выйдет), то со вторыми крайне тяжело бороться. Но я думаю, что в вашем случае спамер вряд-ли использует прокси-трояны |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Я считаю, что работа с контентом гораздо перспективнее шаманства с IP адресами.
Только вот упорное нежелание автора привести пример "хулиганства" наводит на определенные размышления... |
|||
|
||||
| koyot |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.7.2006 Репутация: нет Всего: нет |
Человек постоянно регистрируется на сайте (в день может доходить до 10-15 регистраций) и отправляет пользователям всякий бред, как правило, это реклама какой-то услуги или продукта. Его настоящий IP известен, теперь он начал пользоваться бесплатными прокси. Теперь, думаю, суть проблемы ясна. |
|||
|
||||
| sTa1kEr |
|
||||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
koyot, не ужели так сложно пройтись по ссылкам что я привел?
Все. Скорее всего даже этого будет достаточно, что бы избавится от вашего спамера. Это сообщение отредактировал(а) sTa1kEr - 31.1.2008, 18:13 |
||||
|
|||||
| koyot |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.7.2006 Репутация: нет Всего: нет |
sTa1kEr, это я описал проблему по просьбе GeneralElectric'a.
По твоим ссылкам я прошёл и узнал кое-что новое для себя, за что я тебе благодарен |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Это не описание проблемы, а повторение уже сказанного.
Вся суть "описания" свождится к двум словам - "регистрируется и спамит". Это мы уже слышали. Ничего нового ты не написал. Как правильно объясняла Golda, методов может быть множество. А не один IP адрес на все случаи жизни. но какой-то метод можно применить или посоветовать только если видеть конкретный спам, конкретные заголовки. Об этом шла речь, и именно это имело смысл приводить - реальные примеры, а не общие слова. |
|||
|
||||
| FractalizeR |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 273 Регистрация: 27.12.2007 Где: Россия/Москва Репутация: 2 Всего: 4 |
Есть способы борьбы со спамом и помимо блокировки IP. Например, система akismet, которую пользует WordPress. http://akismet.com/
Интерфейс для проверки постов пользователя через akismet можно вытащить из Zend Framework. -------------------- Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя. |
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Так самое главное-то вы не сказали. Сработал такой метод или нет? Если да, то замечательно, можно считать способ проверенным в боевых условиях (т.к. сам я проверял его только на, рандомно выбранных, проксиках). Если нет, то нужно дальше копать. Топик-то может быть полезным и другим пользователям. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |