Почтовый сервер;Является ли этот метод спам-безопасным? - PullRequest
1 голос
/ 18 июня 2010

У меня есть веб-сайт объявлений, и на каждом объявлении есть форма подсказки, где пользователи могут дать совет другу об объявлении. Действие tip-forms установлено на php-страницу, которая отправляет электронную почту после очистки и т. Д. *

Мне нужно отфильтровать спам и т. Д., Чтобы мой почтовый сервер не попал в черный список или что-то еще ...

У меня есть собственный сервер (VPS, Linux), и я подумал о решении ...

Как это звучит для вас:

  1. Установка почтового сервера
  2. Настроить брандмауэр, чтобы ТОЛЬКО разрешать соединения с почтовым сервером с моего сайта
  3. Настройте почтовый сервер таким образом, чтобы каждые 5 минут можно было отправлять максимум x писем
  4. Создайте php-фильтр перед отправкой почты, который проверяет наличие «плохих» слов.
  5. При необходимости, в крайнем случае, перед отправкой формы задайте пользователю вопрос (например, 5 + 5)

Я бы предпочел, если бы мне не пришлось реализовывать 5-ю реализацию выше ...

Что вы думаете?

Кроме того, у меня есть еще один вопрос, на который вы можете ответить:

Если почтовый сервер попадает в черный список, есть ли способ отменить его в черном списке? Или какое решение, если это произойдет?

Спасибо

Ответы [ 2 ]

1 голос
/ 18 июня 2010

С точки зрения php, вы хотите ограничить количество попыток в час, которые ip может выполнить в сценарии.Также вам нужно будет проверить наличие заголовков и другие хаки.

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

0 голосов
/ 18 июня 2010

1 - установить почтовый сервер

Это легко, используя любой современный дистрибутив Linux. "yum install" или "apt-get" будут обрабатывать детали для вас. Все, что вам нужно сделать, это решить, какой SMTP-сервер вы хотите (postfix, exim, sendmail и т. Д.)

2 - настроить брандмауэр, чтобы ТОЛЬКО разрешать соединения с почтовым сервером с моего сайта

Любой недавний SMTP-сервер должен быть настроен «из коробки», чтобы НЕ действовать как открытый ретранслятор. Это означает, что ваш сервер «сайта A» не будет принимать электронную почту от «сайта B» и пересылать ее на «сайт C». Если вы не хотите выступать в качестве обычного почтового сервера, вы можете отключить брандмауэр от прослушивающих портов (для этого обычно используются TCP-порты 25, 465 и 587). Или вы можете просто настроить сервер на прослушивание localhost: 25 вместо *: 25, чтобы никакие «внешние» соединения не принимались.

3 - настроить почтовый сервер таким образом, чтобы каждые 5 минут можно было отправлять максимум x писем

Это зависит от сервера. Вот серверный сбой ответ для постфикса.

4 - Создайте фильтр php перед отправкой почты, который проверяет наличие «плохих» слов.

Достаточно просто. Некоторые str_replace / preg_replace могут справиться с этим. Вопрос в том, насколько подробную информацию вы хотите получить, или если люди, использующие вашу систему из , это место будет S.O.L.

5 - При необходимости, в крайнем случае, задать пользователю вопрос (например, 5 + 5) перед отправкой формы

Опять достаточно просто. Там полно библиотек, похожих на капчу.

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