Jump to content
  • 0

Проверка адреса E-mail


Shuranka
 Share

Question

Прошу совета у опытных web-программистов. Достаточно ли привед?нного ниже условия для проверки вводимого пользователем адреса E-mail?

if(isset($_POST['submit']))//Проверка нажатия кнопки submit
{
if(isset($_POST['Mail'])&&$_POST['Mail']!="")//Провека ввода данных в поле E-mail
{
if(eregi("^[_A-Za-z0-9-]{1,}[@]{1}[_A-Za-z0-9-]{1,}[.]{1}[A-Za-z]{2,3}$",$_POST['Mail']))//Проверк корректности ввода E-mail адреса
{
$mail=$_POST['Mail'];//Если условие выполняется, извлекаем данные из массива $_POST['Mail']
$mail=strtolower($mail);//Переводим введ?нный адрес в нижний регистр
$_SESSION['mail']=$mail;//Созда?м переменную сессии с адресом
}
else//Если условие не выполняется
{
$_SESSION['Mail']='Неверный формат адреса E-mail!';//Созда?м переменную сессии с ошибкой
}
}
}

Скрипты начал писать недавно, поэтому буду благодарен за любую подсказку. Данный фрагмент кода работает, но меня интересует проверка с точки зрения безопасности.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
:lol: какой слэш в имени... это точка, обратным слэшем мы просто экранируем ее для снятия особого значения в регулярке, превращая в обычную точку, а доменные зоны есть очень разные, даже со 6 знаками, хотя это маловажно в данном случае, можно ограничится и 4, в которые входит info, name, mobi и тд.
Link to comment
Share on other sites

  • 0

А вот про экранирование управляющих символов я совсем забыл :lol: Сейчас ещ? раз перечитал про рег выражения, так там написано, что при использовании обратного слэша для экранирования, его самого нужно экранировать. Вот пример проверки E-mail из самоучителя РНР-5 Колисниченко Д.Н.

"([[:alnum:]-.]+@[[:alnum:]-]+(.[[:alnum:]-]+)*(?[[:alnum:]?+&%]*)?)?)"

Точка и знак ? экранированы двойным .

Link to comment
Share on other sites

  • 0

:) Колисниченко - маньяк

Emm все правильно написал, сравни и запомни, что в программирование можно найти кучу способов решения одной проблемы, а вот найти самый оптимальный это уже мастерство. :lol:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy