Сегодняшняя тема разговора очень близка мне: безопасные контактные формы.
Как я упоминал в предыдущем уроке, одно простое использование контактной формы помогает посетителям общаться с вами без раскрытия почтового адреса для программ спаммеров.
Но когда приходит спам, то нет ничего хуже небезопасной контактной формы. Представьте неприятный документ от Вашего хостера, что Ваш сайт используется для массовой рассылки почты и поэтому мы выключаем Ваш сайт, пока всё не исправите.
Поэтому сегодня я расскажу простой метод добавления дополнительной безопасности на ЛЮБУЮ контактную форму - даже если Вы не используете мою супер защищенную и гибкую [почтовую форму].
Ситуация
Помните, что спаммеры удаленно пробуют ваши формы на уязвимости… и вы хотите, чтобы они ушли.
Проблема
Вы не хотите использовать CAPTCHA, потому что вы знаете, что вынуждаете посетителей читать ужасные буквы и числа, только чтобы послать вам сообщение.

Итак, мы хотим сделать жизнь тяжелой для Плохих парней и суперпростой для Хороших.
Решение
Вы должны использовать jQuery и добавить некоторый скрытый тэг в форму при загрузке страницы. Когда форма отсылается на сервер, вы должны использовать некоторый PHP код, чтобы проверить следующее:
- Скрытый тэг существует
- Значние скрытого тэга совпадает с тем, что хранится в куки
- Скрытый тэг не просрочен
Другими словами, Ваш посетитель имеет некоторое время (которое Вы задали), чтобы заполнить форму и отправить. И если спамер пытается послать сообщение через Вашу форму, он упрется в стену. Не пройдёт, не получит 200 баксов.
Что я собираюсь рассказать Вам, это измененная концепция умного парня Криса Снифлетта. Он эксперт по безопасности во всех видах проблем, которые возникают у PHP программистов, если они не беспокоятся о них.
Руководство
Я получил отличные ответы на День 2й: разлиновка таблиц делается легко, поэтому я решил сделать другое пошаговое руководство со снимками экрана. Это займет немного времени и будет полезным.
Руководство (пока на английском)
Демонстрация
Скачать исходники
Серебрянная пуля?
“Итак, мои формы защищены на 100%, и я могу использовать Generic Free Contact Form Processor With Sloppy Code и буду в безопасности?”.
Ну… Нет.
Эта концепция безопасности основана на ключевом предположении:
Cпамеры не будут весь день ломать контактную форму, будут брать то, что плохо лежит или само идет в руки.
А теперь слушай внимательно, мой дорогой друг:
Эта техника хоть и сильная, но не средство против слабого кода парсера формы.
Моё отношение к безопасности - это использовать несколько способов на сервере и на клиентской стороне, чтобы спаммер приложил огромные усилия, чтобы приблизиться к их дьявольской цели.
Я вижу защиту клиентской стороны аналогично помещению записки на окна дома, что дом защищен сигнализацией. Воры смотрят на записки, собаку во дворе, свет снаружи и другие сигналы хорошо защищенного дома. Они ищут большой заработок с минимальным риском и работой.
Другими словами, вы можете помешать 99% атак перед тем, как они начнутся, и вы можете делать это легко, так почему же не делаете? Это то, что дает технология.
Но это не лекарство для плохого парсера форм.
Оригинал тут.
Популярность: 46%
RSS комментариев.