Форма обратной связи скрипт обратной связи: Универсальный скрипт формы обратной связи для сайта на jQuery AJAX (javascript + php + html) – Готовая форма обратной связи на HTML для сайта — как вставить скрипт

Скрипт формы обратной связи

Вы здесь: Главная - PHP - PHP Скрипты - Скрипт формы обратной связи

Скрипт формы обратной связи

Не секрет, что очень часто приходится как-то общаться с посетителями своего сайта. Разумеется, можно просто дать свой e-mail (как сделал я), а можно предложить и другой способ - это форма обратной связи. Разумеется, здесь потребуется знание PHP. Но чтобы Вам не надо было писать всё с нуля, я предоставляю Вам очень даже хороший скрипт формы обратной связи.

Ссылка на скачивание скрипта: скачать скрипт формы обратной связи.

После скачивания извлекайте архив на Ваш сайт (смотрите, ничего не сотрите у себя). Теперь давайте его настроим. Для этого открываем файл "config.php". И меняем значения следующих переменных:

  1. "mailto" - поставьте вместо "[email protected]" адрес своего почтового ящика.
  2. "charset" - поставьте кодировку, хотя если Ваш сайт русскоязычный, то можете оставить "windows-1251".
  3. "
    content
    " - советую оставить "text/plain", так как вряд ли Ваши посетители будут отправлять Вам сообщения в HTML-формате.

Теперь Вы можете запустить файл index.php у скрипта. В результате, перед Вами возникнет форма. Можете её заполнить и отправить письмо.

Теперь встаёт вопрос: "Как вставить эту форму обратной связи на свой сайт?". Чтобы это сделать, найдите файл, который отвечает у Вас за страницу обратной связи (пусть это будет "feedback.html"). Сразу измените расширение на php (то есть на "feedback.php"). Скопируйте код из index.php скрипта в файл со страницей обратной связи (feedback.php). Теперь Вы можете делать всё, что пожелаете нужным между тегами <html> и </html>, только не стирайте то, что Вы вставили из index.php. То что между тегов <?php и ?> тоже не трогайте, если точно не знаете, что делаете.

И, наконец, если Вам не нравится внешний вид формы, то Вы можете его подкорректировать в файле "styling.css".

Если у Вас остались какие-либо вопросы, либо происходят какие-то глюки со скриптом (я его не тестировал), то пишите мне на

e-mail, чтобы я исправил.

Чтобы не зависеть от работы чужих скриптов, научитесь их создавать самостоятельно. Этому Вас научит мой Видеокурс "PHP и MySQL с Нуля до Гуру": http://srs.myrusakov.ru/php

  • Скрипт формы обратной связи Создано 02.12.2010 18:18:01
  • Скрипт формы обратной связи Михаил Русаков
Следующая статья

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:
    <a href="https://myrusakov.ru" target="_blank"><img src="https://myrusakov.ru/images/button.gif" alt="Как создать свой сайт" /></a>

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:
    <a href="https://myrusakov.ru" target="_blank">Как создать свой сайт</a>

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):
    [URL="https://myrusakov.ru"]Как создать свой сайт[/URL]

Как защитить свою форму обратной связи от атаки? / Habr

Представьте такую ситуацию.

Приходите вы на работу, садитесь проверить почту, рассчитывая увидеть ответ от партнёра, немного спама, а вместо этого видите вот такое: Входящие (164 532).


Картинка, естественно, фейковая.


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

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

В пятницу рабочий день заканчивается в 18.00, предположим в 18.30 офис закрывается на ключ. В понедельник рабочий день начинает в 9.00, ну а открывают офис, к примеру, в 8.00. Итого имеем 61.5 час на то, что бы злоумышленник не опасаясь быстрого разоблачения занялся делом. Предположим он спамит (а сделать это можно даже с помощью браузера) в 10 потоков, т.е. он одновременно может отсылать 10 писем. Если он будет отправлять письма раз в три секунды, то утром понедельника, в 8.00 мы обнаружим 738 000 писем. Естественно, потоков может быть больше, время между отправками писем меньше, да и компьютеров, вовлечённых в этот процесс может быть десятки, а то и сотни.

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

Также, из печальных последствий, могут возникнуть серьёзные проблемы с хостинг провайдером, на площадке которого размещён ваш сайт. А если сообщение из формы обратной связи уходит на почтовый ящик, который расположен на другой хостинг-площадке (особенно если она бесплатная), то ваш домен может попасть в чёрные списки, из которых выбираться довольно — таки хлопотно.

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

К сожалению, наказать злоумышленника, даже если вы точно знаете кто это, практически невозможно. Вот как это комментирует один из сотрудников отдела по борьбе с компьютерными преступлениями города Санкт — Петербург:

Фактически, на сегодняшний день сфера компьютерных преступлений — слабое место в законодательстве РФ (да и в мировом, по большому счету тоже) и пока что не заметно существенных сдвигов в этой области.
На данный момент мы располагаем тремя основополагающими статьями УК РФ, касающимися напрямую данной области.

Глава 28 УК РФ.
Преступления в сфере компьютерной информации
Статья 272. Неправомерный доступ к компьютерной информации
Статья 273. Создание, использование и распространение вредоносных программ для ЭВМ
Статья 274. Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети

И дополнительной поправкой к федеральному закону «О рекламе» от 13.03.2006 N 38-ФЗ, введённой 1 июля 2007 года:
Статья 18. Реклама, распространяемая по сетям электросвязи и размещаемая на почтовых отправлениях

Таким образом, данное действие, совершаемое преступником, попадает под действие статьи 274. Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети, т.к. при достаточном количестве запросов, создается т.н. DDoS-атака, влекущая за собой
(цитата: блокирование охраняемой законом информации ЭВМ) и ВОЗМОЖНОЕ наказание, в виде

(цитата: лишения права занимать определённые должности или заниматься определённой деятельностью на срок до пяти лет, либо обязательными работами на срок от ста восьмидесяти до двухсот сорока часов, либо ограничением свободы на срок до двух лет. )

Но в данном конкретном случае дело будет прекращено практически сразу же, за фактическим отсутствием состава преступления, т.к. даже при изъятии ПК подозреваемого, на нем невозможно будет найти следы злонамеренности произведённых действий, которые бы нельзя было описать несовершенством данного конкретного программного обеспечения, установленного на данном ПК.

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


Теперь давайте посмотрим, как работает уязвимая форма обратной связи.

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

Браузер Mozilla Firefox 2.0.0.12
Как вы сами понимаете, простое нажатие кнопки F5 на клавиатуре снова отправит вам письмо. Ну а автоматизировать данный процесс, повторюсь, совсем не сложно (хотя бы с помощью Opera).

А теперь давайте поговорим о том, как можно исправить положение, не отказываясь от формы обратной связи.

Я предлагаю пять вариантов, каждый вариант обладает как положительными сторонами, так и отрицательными.

Вариант номер 1:

Ajax.

Вот несколько из них:
AJAX contact form — [Описание][Демо]
An AJAX contact form — [Описание][Демо]
Ajax.Form.Mootools — [Описание + Демо]

Хорошо: множество готовых примеров; сообщение отправляется без перезагрузки страницы;

Плохо: если у пользователя отключён JavaScript — то форма работать не будет.


Вариант номер 2:
Редирект.

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

Сделать это можно несколькими путями, самый топорный — это через META-теги:

<meta http-equiv="refresh" content="0; url=index.html">


Хорошо: работает, и в большинстве случае помогает;

Плохо: у этого решения отвратительное юзабилити.


Вариант номер 3:
Работа с БД.

Форма отправляет сообщение не на почтовый ящик, а складывает в базу данных. Соответственно можно отсекать попытки спама просто и незатейливо. К примеру запись не вноситься в БД, если содержимое полностью совпадает с содержимым предыдущего сообщения, при условии того, что IP у отправивших одинаковые, либо из одной подсети. Тут можно придумать массу вариантов. Сообщения из формы обратной связи могут быть интегрированы, к примеру, с CRM.

Хорошо: на мой взгляд очень хорошая защита;

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


Вариант номер 4:
Cookie.

При нажатии на кнопку «отправить» можно записывать браузеру куку, при наличии которой повторно отослать сообщение можно только через некоторое время.

Хорошо: способ работает, потенциальное количество спама уменьшается;

Плохо: куки могут быть отключены (специально или нет — но вы же не запретите отправку сообщения только потому, что куки отключены), куки можно стирать автоматически.


Вариант номер 5:
Captcha.

Капча (если он не кривая) спасёт от спама через форму обратной связи.

Вам помогут ссылки:
reCaptcha
CAPTCHA.ru
Cryptographp
w3captcha

Хорошо: способ действенный;

Плохо: лично мне капча неудобна, особенно сложные, капчу могут распознать и обойти.

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

Спасибо metalalisametalalisa за дополнение. Если честно, про капчу хотел написать, на забыл 🙂

Кросс-пост из моего блога.

Как добавить на сайт форму обратной связи — Webasyst

Пример формы обратной связи

Как добавить такую форму на свой сайт

  1. Откройте приложение «Сайт» и перейдите в раздел «Блоки».
  2. Выберите блок с названием «site.send_email_form».
  3. Щелкните по фрагменту кода под надписью «Встроить на страницу или в шаблон».
  4. Скопируйте выделенный фрагмент кода и вставьте его в HTML-код любой страницы или шаблон темы дизайна.
Как изменить адрес, на который отправляются сообщения из формы обратной связи

Сообщения, которые посетители сайта оставляют через форму обратной связи, отправляются на email-адрес, указанный в поле «Email-адрес для уведомлений» в приложении «Настройки».

Введите в этом поле любой email-адрес, на который должны отправляться все системные уведомления Вебасиста, включая сообщения из формы обратной связи.

Если вы не хотите изменять содержимое этого поля, то можно указать адрес получателя сообщений обратной связи в исходном коде блока «site.send_email_form». Для этого добавьте нужный email-адрес внутри кавычек, как показано ниже:


$wa->sendEmail("[email protected]", $errors)

Можно указать и несколько адресов получателей:

Простой формат (только адреса)


{$wa->sendEmail(['[email protected]', '[email protected]'], $errors)}

Расширенный формат (адреса получателей с их именами)


{$wa->sendEmail(['[email protected]' => 'Имя1', '[email protected]' => 'Имя2'], $errors)}
Как убрать поле для ввода защитного кода (капчи)

Для защиты от автоматически добавляемых сообщений (спама) в форме обратной связи используется поле для ввода защитного кода (капчи).

Если вы считаете, что необходимость вводить защитный код мешает посетителям вашего сайта отправлять сообщения, то отключите это поле. Для этого перед строкой с вызовом метода {$wa->sendEmail(...)} добавьте следующее:


{$wa->storage(['captcha', $wa->app()], '')}

Таким образом вы «говорите» фреймворку Webasyst, что правильной капчей является пустая, т. е. сообщение отправится, если ничего не написать в поле для ввода защитного кода.

Теперь осталось убрать поле для ввода защитного кода, чтобы оно не вводило в заблуждение посетителей сайта. Для этого удалите из исходного кода блока «site.send_email_form» следующий фрагмент:


<div>
    <div>
        {$wa->captcha(!empty($errors.captcha))}
        {if !empty($errors.captcha)}<em>{$errors.captcha}</em>{/if}
    </div>
</div>

Приложение «Форма обратной связи»

Собирайте заявки клиентов с сайта, магазина, блога

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

Гибкая форма

Возможность создавать поля разных типов, делать их обязательными, прописывать заголовки и placeholder полей

Кастомизация

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

Уведомление по смс и email

Поддержка плагинов уведомлений по sms. Возможна отправка уведомлений на несколько телефонов и почтовых адресов

Плавающая кнопка

Отображение плавающей кнопки вызова формы на всех страницах сайта

Определение геолокации

Определение геолокации пользователя по его ip-адресу

Яндекс.Метрика и Google.Analytics

Простое добавление целей через настройки темы дизайна на открытие формы, отправку и ошибку отправки

Управление заявками

Возможность фильтрации заявок в админ. панели по дате, периоду, статусу

Поддержка и обновления

Бесплатные обновления приложения, стандартной темы дизайна, поддержка в рамках соглашения

В приложении можно добавить капчу Webasyst или GoogleRecaptcha. Отображаемая капча зависит от настроек Фреймворка.

Вывод формы на всех страницах

Добавьте хелпер в файл index.html вашей темы дизайна, перед </body>.


{$wa->easyfeedback->dialog()}

Вы можете добавить любому элемент на сайте класс easyfeedback-modal-toggler или ссылку #easyfeedback-modal для элемента a, чтобы при клике на них открывалось диалоговое окно.

Вывод формы в любом месте

Добавьте хелпер в нужно место шаблона или на страницу сайта.


{$wa->easyfeedback->show()}

Настройка целей Яндекс.Метрики и Google.Adwords

Цели настраиваются в приложении Форма обратной связи -> Дизайн -> Оформление.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *