2013-10-23 3 views
-1

아래 코드를 가지고 있지만 도메인을 확인할 수는 있지만 도메인 이름이 유효하더라도 사용자 이름의 유효성을 검사 할 수 없습니다. 예를 들어이메일 주소의 사용자 이름을 확인하는 방법은 무엇입니까?

:

[email protected] --- valid domain valid username ---- pass 
[email protected] ----- valid domain invalid username ---- failed 

사람이 도울 수 있다면 높이 평가.

function domain_exists($email, $record = 'MX'){ 
list($user, $domain) = preg_split('/@/', $email); 
return checkdnsrr($domain, $record);} 

if(!domain_exists($email)){ 
echo "<script type='text/javascript'>window.alert('No have such email,invalid Domain. please enter valid email address!')</script>"; 
echo "<script type='text/javascript'>window.location='register.html'</script>"; 
exit;} 

function user_exists($email, $record = 'MX'){ 
list($user, $domain) = preg_split('/@/', $email); 
return checkdnsrr($user, $record);} 

if(!user_exists($email)){ 
echo "<script type='text/javascript'>window.alert('No have such user, please enter valid email address!')</script>"; 
echo "<script type='text/javascript'>window.location='register.html'</script>"; 
exit;} 
+0

DNS에 전자 메일 * 정보가 포함되어 있지 않은지 확신합니다. ... –

+0

사용자 이름을 무효화하는 성공적인 방법이 없습니다. 그런 식으로. 사용자 이름에 대해 블랙리스트를 만들 수 있지만 –

답변

2

알 수있는 유일한 방법은 도메인 이름에 특정 사용자 이름이 존재하는 그들에게 이메일을 보내 그들을 이메일에 포함 된 링크를 클릭하는 것입니다이다.

[email protected], [email protected][email protected]는 모두 유효 할 수도 있으며, 이메일을 요청했거나 보내는 내용을 사용하는 것을 의미하지는 않습니다.

1

일부 사이트는 활성화 전자 메일을 보냅니다. 아마 이것을 사용해야 할 것입니다.

<?php $activation_code= md5(microtime().rand(1,9999999)); echo$activation_code; ?> 

같은 전자 메일 활성화 코드를 생성 한 후 사용자 이름의 ID 또는 이메일로이 코드 데이터베이스를 등록하고 이메일이 코드를 보냅니다. 사용자가 잠시 후에 그것을 클릭하지 않으면 사용자 또는 차단을 삭제합니다.

관련 문제