Спам пользователей сайта социальной сети PHP - отправка писем всем пользователям с помощью макросов - PullRequest
1 голос
/ 13 августа 2011

В поисках лучшего решения этой проблемы (почти все сайты социальных сетей сталкиваются с этой проблемой)

У меня есть небольшой сайт социальной сети для нашего сообщества.Одна из особенностей заключается в том, что пользователь может отправлять электронные письма пользователям в системе (точно так же, как Facebook)

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

Итак, подумав о

  1. Разрешить пользователю отправлять не более одного сообщения электронной почты за 2 минуты
  2. Максимально за день 100сообщения, которые пользователь может отправить
  3. Если он достигнет максимального 100 блока, этот пользователь

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

Просматривая эту ссылку http://nedbatchelder.com/text/stopbots.html и думая об использовании Honeypot ..

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

1 Ответ

3 голосов
/ 13 августа 2011

Я думаю, есть три соображения:

  1. Как часто и кем могут создаваться учетные записи?
  2. Какие функции необходимо защитить и как?
  3. Как пользователь устанавливает, что ему доверяют, и когда и как можно отозвать это доверие?

1.Ограничение новых учетных записей

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

2.Защита функций

Какие критерии функций требуют дополнительной защиты, чем просто предоставление доступа зарегистрированным пользователям?

Например, все, что раскрывает чью-либо личную информацию (имя, контактную информацию и т. Д.), Должно быть ограничено.каким-либо образом, будь то использование скрытых электронных писем (например, craigslist , Source Forge и многих систем форумов), или требуется одобрение пользователя, прежде чем эта информация будет передана кому-либо еще (друзья Facebook и настройки конфиденциальности).

Кроме того, как вы защищаете эти функции?Троттлинг?Задержка доступа к более мощным функциям, таким как переполнение стека?Что-то вроде машинного обучения для анализа поведенческих моделей и выявления злоупотреблений?

3.Проактивный контроль ущерба

Наконец, как пользователи устанавливают, что они не являются оскорбительными, и какие шаги вы предпринимаете, чтобы идентифицировать эти типы пользователей , предварительно ?

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

Еще один важный момент заключается в том, что вы делаете, когда законный пользовательучетная запись взломана, и какие действия вы предпринимаете, чтобы идентифицировать, заблокировать и, в конечном счете, восстановить эти учетные записи?

Работа с атаками

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

Очевидно, что вам также необходимо предотвратить немедленноеПовторите атаки, отключив нарушающую учетную запись или метод атаки (например, отключив систему электронной почты), но будьте осторожны, выбрасывая данные.

...