|
|
|
| У кого большая база валидных майлов просьба протестировать регулярку
<?
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]\.)+[a-z]{2,6}$/i", $email)
|
я пробовал пока нареканий нет, но у меня не много майлов
во всяком случае
test123@ftghple.com\nCc:asdf@fgcsr.ru
dfgh@hyrt.ru\n
не проходят... | |
|
|
|
|
|
|
|
для: serjinio
(21.09.2008 в 19:51)
| | Зачем?)))
Ну если только используете древние версии РНР.
filter_var($email, FILTER_VALIDATE_EMAIL) | |
|
|
|
|
|
|
|
для: erteni
(21.09.2008 в 21:18)
| | Хорошо у кого PHP 5
filter_var($email, FILTER_VALIDATE_EMAIL)
В PHP 5.2.1 и 5.2.0 обнаружена возможность вставки символа новой строки через email адрес переданный в функцию отправки сообщения. Ошибка в regex выражении для проверки валидности email адреса в фильтре ext/filter (функция filter_var с параметром FILTER_VALIDATE_EMAIL), позволяет добавить дополнительные заголовки в тело письма, что может быть использовано для массовой рассылки спама через различные web-формы.
Проблема связана с отсутствием D модификатора в сочетании с символом проверки конца строки $ (если поставить \n - то выражение после \n не попадет в область видимости регулярного выражения) в PCRE выражениях используемых в ext/filter, также отмечается, что ошибка типична для большого числа скриптов в которых используется функция preg_match(). | |
|
|
|
|
|
|
|
для: serjinio
(22.09.2008 в 02:11)
| |
<?php
$pattern = '/Content-Type:|Bcc:|Cc:/i';
if (preg_match($pattern, $email))
$email= '';
?>
|
| |
|
|
|
|
|
|
|
для: serjinio
(21.09.2008 в 19:51)
| | test123@ftghple.com\nCc:asdf@fgcsr.ru
dfgh@hyrt.ru\n
не проходят...
Такие интересные адреса почты должны проходить? | |
|
|
|
|
|
|
|
для: AcidTrash
(21.09.2008 в 21:53)
| | Наоборот должно блокировать..... | |
|
|
|
|
|
|
|
для: serjinio
(22.09.2008 в 02:09)
| | Тогда сделаем так:
<?php
if (!preg_match("/^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$/i", $email)) exit("Не правильный адрес");
?>
|
| |
|
|
|