Каковы последствия отсутствия проверки простой формы электронной почты на сервере.
Имейте в виду, что:
PHP-код, который я хотел бы использовать, следующий:
<?php
$post_data = filter_input_array( INPUT_POST, FILTER_SANITIZE_SPECIAL_CHARS );
$full_name = $post_data["full_name"];
$email_address = $post_data["email_address"];
$gender = $post_data["gender"];
$message = $post_data["message"];
$formcontent = "Full Name: $full_name \nEmail Address: $email_address \nGender: $gender \nMessage: $message \n";
$formcontent = wordwrap($formcontent, 70, "\n", true);
$recipient = "myemail@address.com"; $subject = "Contact Form"; $mailheader = "From: $email_address \r\n";
mail($recipient, $subject, $formcontent, $mailheader);
echo 'Thank You! - <a href="#"> Return Home</a>';
?>
Решит ли простая капча проблему безопасности?
ОБНОВЛЕНИЕ:
Несколько вопросов, на которые я действительно хотел бы получить ответы: Если меня не беспокоит отправка недействительных данных, каков абсолютный минимум, который я могу сделать для повышения безопасности. В основном избегайте бедствий.
Я, наверное, должен упомянуть, что этот код генерируется в генераторе форм, и я хотел бы, чтобы мои пользователи не подвергались атаке. Спам можно отсортировать, добавив Captcha.
ОБНОВЛЕНИЕ: Каков наихудший сценарий?
ОБНОВЛЕНИЕ: Спасибо за все ответы!
Я планирую сделать пару вещей:
добавить это, как упомянул Алекс: filter_var ("$ post_data ['email_address']", FILTER_VALIDATE_EMAIL);
добавить простую капчу
Если бы я добавил простую проверку на стороне сервера, что мне следует делать? Не может ли пользователь по-прежнему отправлять недействительные данные, даже если я проверяю их?
Кроме того, остановит ли это действие спам?