Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   Веб - Программирование (https://nowa.cc/forumdisplay.php?f=304)
-   -   Проверка на существование email. Как? (https://nowa.cc/showthread.php?t=13012)

sv. 04.09.2005 17:51

Проверка на существование email. Как?
 
1. Есть форма отправки сообщений на сайте.
2. Есть php-скрипт который отрабатывает эту форму.
3. Есть проверка валидности email.
НО. Есть уроды которым нефиг делать и они пишут всякую хрень в этой форме.
Вопрос:
Как проверить введенный email на существование? Или каким еще способом можно защитится от нежелаемой корреспонденции?
PS. Хотя никто не мешает этим уродам ввести например любой существующий емейл (ясно что не свой).
Вообщем я в тупике. Хоть убирай форму нах.

ana 05.09.2005 15:16

Ответ: Проверка на существование email. Как?
 
Я уже много раз слышал вопрос: "Как проверить e-mail на существование?". Видел на них много ответов, но во всех было сказано, что проверить никак нельзя, предлагались только обходные пути, такие как отправка письма для подтверждения. Однако, я попытаюсь решить эту проблему.
Для проверки на существование будем делать следующее:


Проверка на синтаксическую верность адреса
Проверка существования почтового домена в DNS
Проверка на доступность сервера
Проверка существования аккаунта на сервере

Да, мой вариант решения тоже не идеален и стопроцентной гарантии не даёт, но все же даёт хороший результат!
Начнём с того, что в первой половине e-mail адреса могут присутствовать только цифры, латинские буквы, точка, тире и знак подчёркивания, прицем начианться адрес должен с буквы. В домене могут быть только цифры, латинские буквы, тире и точки. Проверить на соответствие такому формату в перле можно следующим образом:


$email = '[email protected]';
if($email =~ /^[a-zA-Z_\.-][a-zA-Z0-9_\.-\d]*\@[a-zA-Z\.-\d]+\.[a-zA-Z]{2,4}$/)
{
# действия, выполняемые если e-mail верный
}else{
# действия, выполняемые если e-mail НЕверный
}

Это была самая простая часть, теперь же, попробуем узнать, существует ли почтовый домен или нет?
Для этого нам понадобится немного кофе, сигареты и библиотека Net::DNS.

...

Читать дальше здесь >http://www.getinfo.ru/article46.html

sv. 05.09.2005 23:05

Ответ: Проверка на существование email. Как?
 
Спасибо, но. Читал уже давно, не катит.
1. реализовано
2 и 3. можно сделать без проблем.
4. не все сервера отдадут эту инфу, а значит уже потеря потенциальных клиентов.
Да и не защищает оно от:
Цитата:

Хотя никто не мешает этим уродам ввести например любой существующий емейл (ясно что не свой).

ana 15.09.2005 13:11

Ответ: Проверка на существование email. Как?
 
Ну тогда сразу проверить не получается.

Если все проверки прошли, надо отослать письмо,
а в письме поставить метку типа изображение
http:// ... / ... /metka1234567890.jpg
где > цифры после metka идентификационный номер клиента
а .jpg это не .jpg а замаскированный php который
генерирует изображение, и заодно чешет на IP,
а расширение .jpg для
маскировки, сделанное с .htaccess

И так, кто-то получил письмо,
и если у него показ изображения не отключен
(а у меня всегда отключен :дразню )
то скрипт обработает клиента, хотя клиент может
на письмо и не ответить.

А если у него картинки выключены?
Тогда надо все письмо отправить картинкой!, тогда
он может включить режим показа и засветится!

Не могу понять, зачем все это городить?...
Ну действительное мыло, или не действительное,
какая нафиг разница? Сегодня действительное,
завтра недействительное... . :7:

HytHty 20.04.2010 16:26

Re: Проверка на существование email. Как?
 
Сформулируйте - что вы хотите проверить - существование e-mail или принадлежность e-mail зарегистрировавшемуся пользователю. :arr:

djtim1234 22.07.2010 10:30

Re: Проверка на существование email. Как?
 
Может стоит разрешить отправку сообщений только зарегистрированным пользователям?
А активацию учетных записей по e-mail делать как обычно.

infosin 23.09.2010 08:50

Re: Проверка на существование email. Как?
 
я пользуюсь емэйл верификатором от maxprog

artemmus 31.07.2011 01:33

Re: Проверка на существование email. Как?
 
Просто проверить существование учетной записи не даст сервер, поэтому реализовать такое можно процедурно как написал djtim1234


Текущее время: 04:19. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc

Время генерации страницы 0.02609 секунды с 9 запросами