d

Siren24 페이지 이동없이 Socket 으로 실명인증( UTF-8)

· 2006-06-19 (월) 10:22:09 · 6440 · 1
phpschool.com에서 퍼옴.
정말 대단합니다...^^

ssn.html//
##########################################
<html>
<body>

<script type="text/javascript">
var xmlhttp = XMLHTTP();

function XMLHTTP() {
try {
xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
}
catch(e) {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function remove_space( str ) {
str = str.replace(/\s+/g,"");
return str;
}
function is_numeric( str ) {
if ( str == str.match(/[0-9]+$/) )
{
return true;
}
else { return false; }
}
function is_ssn( ssn1 , ssn2 ) {
if ( !is_numeric(ssn1) || !is_numeric(ssn2) || ssn1.length != 6 || ssn2.length !=7 ) { return false; }
else { return true; }
}

function chk_ssn() {

var name = remove_space( document.getElementById("name").value );
var ssn1 = remove_space( document.getElementById("ssn1").value );
var ssn2 = remove_space( document.getElementById("ssn2").value );
if ( name == "" )
{
alert('이름을 입력해 주세요');
document.getElementById("name").focus();
return false;
}
else if( !is_ssn( ssn1 , ssn2 ))
{
alert('주민등록번호를 정확히 입력해 주시기 바랍니다.');
document.getElementById("ssn1").focus();
return false;
}
else {

document.getElementById("chk_ssn_msg").innerHTML="실명 확인중입니다.";
try
{
with( xmlhttp ) {
open("POST", "chk_ssn.php", true);
setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

onreadystatechange = function() {

if (xmlhttp.readyState == 4) {
if ( xmlhttp.status==200)
{
var res = remove_space(xmlhttp.responseText) ;
var res_ = res.split("|");
res_no = res_[0];

if ( res_no == 99)
{
document.getElementById("chk_ssn_msg").innerHTML="<a onclick=\"chk_ssn();\">실명인증</a>";
alert('기존에 가입하신 아이디가 있습니다.');
}
else if ( res_no=="1" ) {
document.getElementById("chk_ssn_msg").innerHTML="<a onclick=\"chk_ssn();\">실명인증</a>";
alert('실명확인 성공.');
}
else if (res_no==2 || res_no == 4 )
{
document.getElementById("chk_ssn_msg").innerHTML="<a onclick=\"chk_ssn();\">실명인증</a>";
alert('주민등록번호 오류 입니다. 다시 입력해 주세요.');

}
else {

document.getElementById("chk_ssn_msg").innerHTML="<a onclick=\"chk_ssn();\">실명인증</a>";
if ( confirm('실명이 인증되지 않았습니다. 일반 회원으로 가입하시겠습니까?') )
{
document.getElementById("ssn_form").realSSN.value = "0";
document.getElementById("ssn_form").submit();
}
}
}
}
}

send( "name="+ name +"&ssn1="+ ssn1 + "&ssn2=" + ssn2 );
}
}
catch ( e)
{

}

}
}
</script>
<form>
이름:<input type="text" name="name" id="name" /><br />
주민번호앞: <input type="text" name="ssn1" id="ssn1" maxlength="6" /><br />
주민번호뒤:<input type="password" name="ssn2" id="ssn2" maxlength="7" /><br />
메세지:<span id="chk_ssn_msg"><a onclick="chk_ssn();" style="cursor:pointer;cursor:hand">실명확인</a></span>
</form>
</body>
</html>


#######################################

chk_ssn.php

#######################################

<?
include "../inc/funct/common.inc.php";
include "../inc/funct/db_class.inc.php";


//가입 유저인지 확인 (중복가입 금지)
/*
$que = "SELECT user_id FROM _member_login WHERE ssn='".$_POST['ssn1'].$_POST['ssn2']."'";
$rs = $db->ExecQuery($que);

$chk_num = $db->GetNumrows($rs);
*/
if ( $chk_num > 0 ) {
/*
$id = $db->GetResult($rs,0,0);
echo "99|".$id;
*/
}
else {
$host = "210.207.91.246"; //신용평가원 아이피
$uri = "/servlet/name_check"; //POST 데이타 전송할 URI
$name = iconv( "UTF-8","EUC-KR",$_POST['name']);

/** 수정 **/
$ok_url = "http://okurl";//중요하지 않음
$referer_page = "http://신평에 등록된 실명인증확인 페이지";
$siren_id = "siren 아이디";
/** 수정 **/



$jumin1 = $_POST['ssn1'];
$jumin2 = $_POST['ssn2'];

$reqbody =
"id=$siren_id&name=".urlencode( $name ).
"&jumin1=$jumin1".
"&jumin2=$jumin2".
"&ok_url=".urlencode($ok_url); // 리턴주소 별로 중요하지 않음

$contentlength = strlen($reqbody);

$reqheader = "POST $uri HTTP/1.0\r\n".
"Host: name.siren24.com\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Referer: $referer_page\r\n".
"Content-Length: $contentlength\r\n\r\n".
"$reqbody\r\n";

$fp = fsockopen( $host , 80 , $err , $err2);
fputs($fp, $reqheader);

$tmp="x";

while ($tmp!="") {
$tmp = $buffer = fgets($fp, 4096);

if (preg_match('/name=result/',$buffer,$aMatch)) {
preg_match('/value=\\"([^\\"]*)\\"/',$buffer,$aMatch);
$result = $aMatch[1];
}

if (preg_match('/<font>/',$buffer,$aMatch)) {
preg_match('/<font>([^\\"]*)\<\/font>/',$buffer,$aMatch2);
$result = $aMatch2[1];
}
//echo $buffer;
}

fclose($fp);
?>
<?

if (!is_numeric( $result ) ) {
$result="0";
}

echo (int)$result;
}
?>


#####################<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
|

댓글 1개

ajax 코드로 처리하면 쉬운것을 이전에 왜 그리 페이지 이동을 해서 한글이름 깨지고 ㅜ.ㅜ
동생넘이 asp로 짜면서 ajax코드로 금방 처리해버리더군요.. 헉~! 하는 말밖에.. 덕분에 한가지 배웠지만요..
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
06-12-15 조회 4,416
06-12-15 조회 2,835
06-12-15 조회 3,143
06-12-15 조회 2,991
06-12-15 조회 2,931
06-12-15 조회 2,716
06-12-15 조회 4,361
06-12-15 조회 2,826
06-12-15 조회 2,988
06-12-15 조회 2,615
06-12-15 조회 3,260
06-12-15 조회 3,510
06-12-15 조회 2,759
06-12-15 조회 2,908
06-12-12 조회 3,261
06-12-11 조회 4,384
06-12-10 조회 4,036
06-12-07 조회 3,549
06-12-07 조회 3,839
06-11-30 조회 3,105
06-11-27 조회 5,442
06-11-11 조회 3,139
06-10-16 조회 3,646
06-10-10 조회 3,349
06-09-27 조회 8,981
06-09-26 조회 4,123
06-09-21 조회 3,779
06-09-21 조회 3,397
06-09-21 조회 4,259
06-09-21 조회 4,220
06-09-21 조회 3,554
06-09-21 조회 3,762
06-09-21 조회 3,613
06-09-21 조회 4,369
06-09-21 조회 4,555
06-09-18 조회 3,475
06-09-15 조회 3,486
06-09-15 조회 3,317
06-09-11 조회 3,618
06-09-11 조회 3,370
06-09-11 조회 3,581
06-09-11 조회 4,939
06-09-11 조회 4,443
06-09-06 조회 3,062
06-09-04 조회 3,815
06-09-02 조회 4,003
06-09-01 조회 4,098
06-08-28 조회 4,293
06-08-27 조회 3,336
06-08-27 조회 2,671
06-08-27 조회 2,573
06-08-27 조회 3,197
06-08-27 조회 2,862
06-08-27 조회 2,913
06-08-27 조회 6,319
06-08-27 조회 2,525
06-08-27 조회 2,454
06-08-24 조회 4,653
06-08-23 조회 2,911
06-08-22 조회 2,857
06-08-22 조회 2,816
06-08-19 조회 2,963
06-08-12 조회 2,926
06-08-11 조회 4,172
06-08-08 조회 2,962
06-08-06 조회 3,318
06-08-05 조회 2,755
06-08-04 조회 3,233
06-08-04 조회 4,199
06-08-03 조회 3,408
06-07-25 조회 3,521
06-07-23 조회 3,286
06-07-22 조회 4,332
06-07-21 조회 2,979
06-07-21 조회 3,191
06-07-21 조회 3,152
06-07-20 조회 4,483
06-07-20 조회 5,270
06-07-20 조회 3,834
06-07-19 조회 4,294
06-07-19 조회 3,214
06-07-19 조회 4,869
06-07-19 조회 4,256
06-07-19 조회 3,377
06-07-12 조회 3,909
06-07-11 조회 5,541
06-07-11 조회 4,204
06-07-11 조회 2,736
06-07-11 조회 4,394
06-07-11 조회 3,513
06-07-11 조회 3,756
06-07-11 조회 2,892
06-07-11 조회 2,790
06-07-11 조회 3,483
06-06-27 조회 4,551
06-06-21 조회 4,230
06-06-15 조회 3,908
06-06-10 조회 3,346
06-06-05 조회 3,139
06-05-31 조회 4,221