Советы по использованию форм

1. Капча

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

Примеры капчи: «Яндекс Смарткапча» и «Гугл Рекапча».

2. Проверка на стороне сервера

Часто на стороне JavaScript делается проверка на валидацию, обязательные поля и другие данные.

Данную проверку также рекомендуется делать на стороне сервера, т.к. выполнение JavaScript можно отключить, и тогда на сервер будут отправлены некорректные данные.

Также при загрузке файлов надо проверять, что загружается корректный файл (например что это именно картинка, а не вредоносный файл). Проверять надо через MIME (у каждого файла свой MIME, например image/png).

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

3. Редирект после сохранение формы

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

Перенаправление рекомендуется делать с кодом «303 (See Other)».