메일 인증 하게 할수 없는가요?? 정보
그누보드 메일 인증 하게 할수 없는가요??본문
>
> 회원들이 올바른 메일 주소를 넣지 않아서 수백통이 반송 되는 사례가 있습니다.ㅠ.ㅠ
> 메일 한번 발송하기 무섭습니다..
> 1000 여통이 반송되어 돌아 옵니다.
> 정말 ㅠ.ㅠ
> 대책좀 가르쳐주세요.ㅠ.ㅠ
>
이번에 필요할 것 같아서 간단하게 간단하게 구현해 보았는데요.
아직 그누보드와는 연동하지 않았습니다.
그냥 참고만 하세요.
먼저 이름, 이메일 을 묻는 페이지에서 메일과 이름을 받아서 데이터 베이스에 키와 저장을 하고 메일로 키를 보내줍니다.
사용자가 메일에서 확인 버튼을 누르면 확인 하는 페이지에서 데이터베이스에 저장된 내용과 비교하여 인증을 합니다.
간단하게 생각하고 만들었기 때문에 무슨 문제가 있을 지 모르겠습니다.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");
$sql = "
CREATE TABLE aplct_email (
aemail varchar(255) NOT NULL default '',
aname varchar(50) NOT NULL default '',
akey char(25) NOT NULL default '',
PRIMARY KEY (aemail)
) TYPE=MyISAM; ";
@mysql_query($sql);
$aemail = $_REQUEST[aemail];
if(!$aemail) $aemail='*** 개인정보보호를 위한 이메일주소 노출방지 ***', $aemail, ' 회원등록 인증 번호입니다.', $content, 1);
}
else{
$sql = " select akey from aplct_email where aemail='$aemail' and aname='$aname' ";
$rs = sql_fetch($sql);
if($akey == $rs[0]){
$sql = " delete from aplct_email where aemail='$aemail' and aname='$aname' ";
@mysql_query($sql);
echo( " 인증되었습니다. ".$aname ."/". $aemail. "/" . $akey);
}
else
echo("이메일 인증에 실패");
}
?>
> 회원들이 올바른 메일 주소를 넣지 않아서 수백통이 반송 되는 사례가 있습니다.ㅠ.ㅠ
> 메일 한번 발송하기 무섭습니다..
> 1000 여통이 반송되어 돌아 옵니다.
> 정말 ㅠ.ㅠ
> 대책좀 가르쳐주세요.ㅠ.ㅠ
>
이번에 필요할 것 같아서 간단하게 간단하게 구현해 보았는데요.
아직 그누보드와는 연동하지 않았습니다.
그냥 참고만 하세요.
먼저 이름, 이메일 을 묻는 페이지에서 메일과 이름을 받아서 데이터 베이스에 키와 저장을 하고 메일로 키를 보내줍니다.
사용자가 메일에서 확인 버튼을 누르면 확인 하는 페이지에서 데이터베이스에 저장된 내용과 비교하여 인증을 합니다.
간단하게 생각하고 만들었기 때문에 무슨 문제가 있을 지 모르겠습니다.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");
$sql = "
CREATE TABLE aplct_email (
aemail varchar(255) NOT NULL default '',
aname varchar(50) NOT NULL default '',
akey char(25) NOT NULL default '',
PRIMARY KEY (aemail)
) TYPE=MyISAM; ";
@mysql_query($sql);
$aemail = $_REQUEST[aemail];
if(!$aemail) $aemail='*** 개인정보보호를 위한 이메일주소 노출방지 ***', $aemail, ' 회원등록 인증 번호입니다.', $content, 1);
}
else{
$sql = " select akey from aplct_email where aemail='$aemail' and aname='$aname' ";
$rs = sql_fetch($sql);
if($akey == $rs[0]){
$sql = " delete from aplct_email where aemail='$aemail' and aname='$aname' ";
@mysql_query($sql);
echo( " 인증되었습니다. ".$aname ."/". $aemail. "/" . $akey);
}
else
echo("이메일 인증에 실패");
}
?>
댓글 전체
사용자의 이메일하고 인증키를 저장해야 나중에 사용자가 이메일로 받은 키를 사용하여 인증을 통과할 수 있을 것이라 생각이 되어서 테이블을 생성해 보았습니다.
테이블에 저장된 이메일과 키는 인증과 동시에 삭제 되고요.
사용자가 같은 이메일과 이름으로 새로운 인증키를 받는다면 업데이트만 되고요.
일정시간이상이 흐른 메일과 인증키는 삭제해 주어야 할 것 같습니다.
테이블에 저장된 이메일과 키는 인증과 동시에 삭제 되고요.
사용자가 같은 이메일과 이름으로 새로운 인증키를 받는다면 업데이트만 되고요.
일정시간이상이 흐른 메일과 인증키는 삭제해 주어야 할 것 같습니다.
DB쪽에도 따로 테이블 같은걸 만들어줘야 하는건가요?