| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > блокировка конкретного компьютера |
| Автор: koyot 29.1.2008, 01:25 |
| Помогите - горю!!! Мне нужно закрыть доступ конкретного клиентского компьютера к моему сайту или, если не закрыть полный доступ, то хотя бы ограничить его возможности(не дать возможность зарегистрироваться и т.д.). Блокировка по IP не подходит. какими способами это можно реализовать? |
| Автор: Golda 29.1.2008, 02:40 |
| Опишите проблему подробнее. Что именно делают с этого конкретного компьютера и в какой ситуации? Проблема в поведении пользователя-человека или бота? Что происходит: попытка DOS-атаки, спам через Вашу форму, захват управления через дыру типа SQL-инъекции... ? В зависимости от этого защита будет разной. Опишите СВОЮ КОНКРЕТНУЮ проблему. Поскольку общего решения не существует. Достоверно пользователя идентифицировать нельзя В общем случае идентифицировать пользователя можно двумя путями:
HTTP-заголовки легко подделываются, например, тем же скриптом на PHP. IP на уровне HTTP-протокола подделать нельзя, но можно подменить, используя прокси. Все же на протяжении некоторого промежутка времени обычно IP сохраняется, количество доступных IP не безгранично. Заголовки хоть и могут быть указаны произвольные, но для данного пользователя в них можно проследить закономерность. Кстати, отсутствие какого-то заголовка из тех, на которые Вы хотели рассчитывать - тоже информация. HTTP_REFERER неожиданный или отсутствует в ситуации, где не должен - информация. USER_AGENT из блек-листов, отсутствует или меняется при одном и том же идентификаторе сессиии или IP - информация. Правда, с IP тут нужно быть осторожнее, возможны и легальные случаи. Возьмите на заметку и анализируйте дальше. В форме есть кнопка <input type='image'/> и Вы видите несколько запросов с одинаковой точкой нажатия - информация Запросы с похожим набором заголовков через равные или очень быстрые промежутки времени - информация Запросы с повторяющимися парамметрами - информация Запросы с явным поиском распространенных уязвимостей в параметрах - информация И т.д. Ни на один из вышеперечисленных моментов сам по себе расчитывать нельзя. Каждый из них может быть подменен. Но что-нибудь да забудут. Покопайтесь в логах, если нужно, скриптом составьте более подробные логи. Найдите профиль своего пользователя. И отсекайте его запросы по этим особенностям. Только нужно учесть, что и пользователь, если заинтересован в Вашем ресурсе, может менять поведение. Вообще, вернусь к началу. Опишите проблему. Может, в Вашем случае защита должна состоять в том, чтобы сделать использование ресурса неэффективным, неинтересным для злонамеренного пользователя. Может, где-то добавить барьер в виде дополнительного этапа верификации пользователя. Смотреть нужно |
| Автор: koyot 29.1.2008, 10:46 |
| Golda, вот суть проблемы: у меня на сайте пользователь регистрируется и занимается спамом. У меня есть, так называемый, "чёрный список", куда заносятся подобные товарищи. IP адрес у него динамический. Я бы без вопросов заблокировал всю подсеть, но тут вновь засада - он научился пользоваться прокси. тут я и зашёл в тупик. |
| Автор: MoLeX 29.1.2008, 10:54 |
| koyot в какойто теме я приводил пример. ИМХО: узнать как можно больше об компьютере пользователя и если он злодей то эти индификаторы в бан и баста |
| Автор: GeneralElectric 29.1.2008, 11:34 | ||
| Надо разбираться с конкретным случаем. Все так же - поиски способа не прекратить спам, а заблокировать клиентский компьютер.
|
| Автор: koyot 29.1.2008, 20:28 |
| GeneralElectric, вот по этому поводу я и прошу помощи. Просто не знаю, какой ещё способ придумать. может, возможно как-нибудь определить МАС адрес карты или ID материнки? |
| Автор: sTa1kEr 30.1.2008, 19:18 | ||
Если вкратце, то минимум, который можно сделать, что бы обнаружить таких спамеров
Конечно-же в этой схеме может случится, что под фильтр попадет обычный пользователь, но вероятность этого очень мала, т.к. ни один разумный пользователь не будет сидеть в интернете через тормазнутые публичные проксики (за исключением как-раз тех случаев, когда необходимо скрыть IP). Это конечно не панацея, т.к. бывают еще платные проксики (не путать с платными прокси-листами - это просто список публичных прокси за деньги) и прокси-трояны. Но если при помощи первых вряд-ли кто-то реально будет скрывать свой IP (т.к. это очень накладно выйдет), то со вторыми крайне тяжело бороться. Но я думаю, что в вашем случае спамер вряд-ли использует прокси-трояны |
| Автор: GeneralElectric 30.1.2008, 19:24 |
| Я считаю, что работа с контентом гораздо перспективнее шаманства с IP адресами. Только вот упорное нежелание автора привести пример "хулиганства" наводит на определенные размышления... |
| Автор: koyot 31.1.2008, 14:22 | ||
Человек постоянно регистрируется на сайте (в день может доходить до 10-15 регистраций) и отправляет пользователям всякий бред, как правило, это реклама какой-то услуги или продукта. Его настоящий IP известен, теперь он начал пользоваться бесплатными прокси. Теперь, думаю, суть проблемы ясна. |
| Автор: sTa1kEr 31.1.2008, 17:49 | ||||
koyot, не ужели так сложно пройтись по ссылкам что я привел?
Все. Скорее всего даже этого будет достаточно, что бы избавится от вашего спамера. |
| Автор: koyot 31.1.2008, 22:14 |
| sTa1kEr, это я описал проблему по просьбе GeneralElectric'a. По твоим ссылкам я прошёл и узнал кое-что новое для себя, за что я тебе благодарен |
| Автор: GeneralElectric 1.2.2008, 01:21 |
| Это не описание проблемы, а повторение уже сказанного. Вся суть "описания" свождится к двум словам - "регистрируется и спамит". Это мы уже слышали. Ничего нового ты не написал. Как правильно объясняла Golda, методов может быть множество. А не один IP адрес на все случаи жизни. но какой-то метод можно применить или посоветовать только если видеть конкретный спам, конкретные заголовки. Об этом шла речь, и именно это имело смысл приводить - реальные примеры, а не общие слова. |
| Автор: FractalizeR 1.2.2008, 02:07 |
| Есть способы борьбы со спамом и помимо блокировки IP. Например, система akismet, которую пользует WordPress. http://akismet.com/ Интерфейс для проверки постов пользователя через akismet можно вытащить из Zend Framework. |
| Автор: sTa1kEr 1.2.2008, 17:27 |
Так самое главное-то вы не сказали. Сработал такой метод или нет? Если да, то замечательно, можно считать способ проверенным в боевых условиях (т.к. сам я проверял его только на, рандомно выбранных, проксиках). Если нет, то нужно дальше копать. Топик-то может быть полезным и другим пользователям. |
| Автор: koyot 10.7.2008, 22:56 |
| sTa1kEr, спасибо за метод. Отлично работает. Некоторое время я им пользовался, но, к сожалению, пришлось отказаться. Он мне по ошибке и нормальных пользователей бил. Но я метод немного модифицировал - поэтому сейчас всё в порядке. Еще раз спасибо. |
| Автор: Павeл 14.7.2008, 18:40 |
| Простите, а не проще ли поставить капчу на форму рассылки или еще какую-нибудь проверку на роботов? Вряд ли это спамит живой человек, кому охота по 15 раз в сутки регистрироваться. Наверное это робот. Так поставьте защиту от роботов. |
| Автор: koyot 15.7.2008, 01:39 |
| Нет, Павел. Это живой человек спамил. Уровни защиты и анализ работы данного человека показали, что это точно был не робот. |
| Автор: Павeл 15.7.2008, 03:34 |
| Понятно. Ну а сейчас все нормально? Метод работает? |