Как проверить электронную почту (на международном уровне) для безопасного сохранения в базе данных

Я создаю контактную форму и там у меня есть поле ввода, введите адрес электронной почты.
В будущем я планирую сохранить это письмо и все другие данные в базе данных.
Поэтому у меня есть вопрос о том, как правильно проверить это письмо в PHP?

-Он должен принимать utf-8 и все международные отдельные символы, которые может иметь электронная почта.

На данный момент я сделал две разные проверки электронной почты.

Первый делается с помощью filter_var (), но этот не позволяет использовать международные символы. (Поэтому я удалил это.)

Во-вторых, я использовал пользовательское регулярное выражение ‘/^[^\s@]+@[^\s@]+.[^\s@]+$/ui’, и это позволяет использовать международные символы, но также позволяет ‘/ * и другие символы, представляющие угрозу для возможного внедрения SQL.

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

Может быть, шифрование / дешифрование электронной почты?
Может быть, PDO должно быть достаточно?

0

Решение

Regex для проверки нестандартного адреса электронной почты:

^([\p{L}\.\-\d]+)@([\p{L}\-\.\d]+)((\.(\p{L})      {2,63})+)$

Первоначальный источник Как проверить неанглийский (UTF-8) кодированный адрес электронной почты в Javascript и PHP?

0

Другие решения

В соответствии с рекомендациями brasofilo, так как у меня нет кода из вашего проекта для работы с:

<?php
iconv_set_encoding("internal_encoding", "UTF-8");

$subject = "Testmail — Special Characters";
$msg = "Hi there,\n\nthis isn’t something easy.\n\nI haven’t thought that it’s that complicated!";

mail(utf8_decode($to), utf8_decode($subject), utf8_decode($msg), utf8_decode($from)."\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n");?>

php mail специальные символы utf8

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector