Емайл формa, кэпча и антиспам

Эта статья является дополнением к Как бороться со спамом на домашнем вэб-сервере и модернизированными инструкциями для Как послать Емайл с домашнего веб-сайта.

Коды и скачать

Мы также создаем две страницы Contact и Response, только в этот раз в первую страницу кладем iframe со ссылкой на экзекьютабл источник.

Contact

Response

Питонные файлы кладем в /cgi-bin, а все остальные в /mail [1].

Описание файлов

Папка Файл Permissions Описание
/mail a+rwx
alfphabet.ttf a+r Шрифт для кэпчи
blocks.txt a+r Заблокированные отправители
captcha.css a+r
compose.css a+r
compose.html a+r
index.html a+r Редирект на страницу Contact
refresh1.png a+r Кнопка на кэпче
refresh2.png a+r Кнопка на кэпче hover
response.css a+r
response.html a+r Автоматически генерируемый файл на основе  template.txt
settings.txt a+r Всевозможные опции для программы
template.txt a+r Шаблон для response.html. Вы можете свою template придумать.
tokens.txt a+rw Куда кэпча записывает коды для хранения
/cgi-bin
captcha.py a+rx Кэпча
compose.py a+rx Загружает HTML форму
mail_f.py a+r Программные функции
send.py a+rx Посылает письмо

settings.txt

SYNTAX

Variable = value

В settings.txt можно менять значения переменных: путь, URL, цвет кэпчи, фонт кода и тд.

Описание Settings

File Variable Value Значение
compose.py mail_form_width 400 Ширина майл формы
url_compose_css /mail/compose.css
captcha.py captcha_bg_color (253, 0, 211, 255) Цвет фона кодовой картинки
captcha_dots_color (0, 0, 0, 255) Цвет точек кодовой картинки
captcha_dots_n 3000 Количество хаотичных точек на кодовой картинке
captcha_text_color (255, 255, 255, 255) Цвет букв кодовой картинки
captcha_width 120  Ширина картинки
captcha_height 40  Высота картинки
captcha_font_size 20  Размер шрифта
captcha_padding 20  Пэддинг
path_font /var/www/html/mail/alfphabet.ttf Шрифт для кодовой картинки
path_mail_dir /var/www/html/mail/
url_mail_cgi /var/www/html/cgi-bin/mail/ Папкa с скриптами в /cgi-bin
path_tokens /var/www/html/mail/tokens.txt
url_captcha_css /mail/captcha.css
url_mail_dir /mail/ Слаш в конце на всех url_ необходим, если папка
send.py N_tokens 50 Количество кодов для хранения в tokens.txt
email_to vasqpupkin@mail.ru Получатель письма из майл формы
path_blocks /var/www/html/mail/blocks.txt
path_response /var/www/html/mail/response.html
path_template /var/www/html/mail/template.txt
sender_name Мой секси сайт Это то, что появится в письме в заголовке “От кого” при получении.
smtp_login moisexisite@gmail.com Логин на Гугле
smtp_password z63T<E4P Пароль на Гугле
smtp_port 587 SMTP порт
smtp_security_type TLS Секьюрити: TLS или SSL
smtp_server smtp.gmail.com Имя SMTP сервера
url_open /wordpress/index.php/response URL страницы Response

 

blocklist.txt

SYNTAX

Header = value

Когда вы получаете письмо со своего сайта, заголовки REMOTE_ADDR, HTTP_USER_AGENT, HTTP_REFERER прикрепляются к концу письма, и, если вы хотите кого-нибудь блокировать, то просто скопируйте строчку с одним или несколькими заголовками и поместите ее в blocklist.txt [2].

[1] Примечания

Path_

Файлы с флагом path_ не обязательно хранить в папке /mail и даже желательно класть их за пределы /var/www/html, чтоб никто через порт 80 не смог их прочитать.

Url_

Файлы с флагом url_ используются вэб-сервером и должны находиться в пределах /var/www/html.