Почтовая функция проверки PHP [дубликат]

Этот вопрос уже имеет ответ здесь:

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

11
задан Brian 27 January 2010 в 11:13
поделиться

3 ответа

Вы можете использовать filter_var , чтобы подтвердить адрес электронной почты:

if (!filter_var($address, FILTER_VALIDATE_EMAIL)) {
    // invalid e-mail address
}
32
ответ дан 3 December 2019 в 02:01
поделиться

Если ваша основная проблема заключается в том, как говорится в вопросе, чтобы убедиться, что пользователи не пытались обманом заставить вас рассылать спам, вводя список адресов, разделенных запятыми, то это не очевидный ответ, чтобы просто проверить, есть ли какие-либо запятые во вводе пользователя ?

0
ответ дан 3 December 2019 в 02:01
поделиться

Просто проверяйте поле против обычно найденного регулярного выражения для одного адреса электронной почты

function validate_email($e){
    return (bool)preg_match("`^[a-z0-9!#$%&'*+\/=?^_\`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_\`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$`i", trim($e));
}
2
ответ дан 3 December 2019 в 02:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: