완전 한 PHP 확인 코드 인스턴스 프로그램 [데모]

출처: 인터넷
작성자: 사용자
키워드: 웹 프로그래밍 PHP는 자습서

PHP 튜토리얼 확인 코드 프로그램을 호출 하는 HTML

<! doctype HTML 공개 "-//W3C//DTD XHTML 1.0 전환 / / 엉" "http://www.jzread.com/tr/xhtml1/dtd/ Xhtml1 transitional.dtd ">
< html lang = "en-우리" xml: lang = "en-US" xmlns "http://www.w3.org/1999/xhtml" = >
< 제목 > 로그인 < / 타이틀 >
< 연결 rel = "stylesheet" 유형 = "텍스트/css 자습서" href = "/tryit.css 자습서" / >
< 스크립트 유형 = "텍스트/웹 효과" >
함수 getpinimg)
{
document.getElementById ("Pinimg"). src = "log_demo.php 튜토리얼?는 핀 & r = =" + math.random ();
}
</스크립트 >
</헤드 >

< 몸 >
< 행동 양식 = "log_demo.php" 메서드 "Get" = >
< 입력 유형 = "숨겨진된" 이름 = "" 값 = "로그" / >
사용자: < 입력 유형 = "텍스트" 이름 = "사용자" 크기 = "값 =" "테스트" / >< br / >< br / >
비밀 번호: < 입력 유형 = "암호" 이름 = "통과" 크기 = "" 값 = "123456" / >< br / >< br / >
Pincode: < 입력 유형 = "텍스트" 이름 = "핀" 크기 = "8" 값 = "" / >
< 입력 유형 = "버튼" 값 = "Getpin" onclick = "getpinimg ();" >
< img id = "pinimg" src = "Log_demo.php?a=pin" onclick = "getpinimg" (); "/ >
< 입력 유형 = "Submit" 값 = "Submit" >< br / >
</양식 >
</바디 >
< / html >
log_demo.php 코드

<? php
Require_once ("log_aux.php");

만약 ($_get [' 한 '] "핀" = =) 없음
Getpinimg ();
출구;
}

만약 ($_get [' 한 '] = = "로그") 없음
$ret Checkpincookie = ($_get [' 핀 '), 300);
경우 ($ret < 0) 없음
에코 "핀 오류: $RETN";
출구;
}
사용자 이름 및 암호를 확인 합니다.
에코 확인... $retn ";
경우 ("123xx" = 123) 없음
에코 "DDDDN";
}
에코 $_get [' u '];
}
log_aux.php 코드

<? php
$magic _a = "www.jzread.com34589";
$magic _b = "234566 * * * +";

Getpincookie ($pin _code) 기능
{
글로벌 $magic _a;
글로벌 $magic _b;
$now = 시간 ();
$client _ip = $_server [' remote_addr '];
$pin = MD5 ($now. $client _ip. $magic _a. $pin _code. $MAIGC _b). $now;
$pin; 반환
}

Checkpincookie 기능 ($pin _code_in, $timeout = 300) //5 miniutes www.jzread.com
{
글로벌 $magic _a;
글로벌 $magic _b;
$pin = substr ($_cookie [' 핀 '), 0, 32);
$time = substr ($_cookie [' 핀 '), 32);
$now = 시간 ();
경우 ($now-$time > $timeout) 없음
반환-100; Time_out
}
$pin _code_in = strtolower ($pin _code_in);
$client _ip = $_server [' remote_addr '];
$pin _2 = MD5 ($time. $client _ip. $magic _a. $pin _code_in);
경우 ($pin = = = $pin _2) 없음
0; 반환
그 밖에 없음
반환-200; Pincode 오류입니다.
}
}

함수 getpinimg)
{
$rnd = rand (0, 10);
$rnd = 0;
$path = ". / www.jzread.com/". substr ("00000$ rnd",-4);
대 한 ($i = 0; $i < 4; + + $i) 없음
경우 없음; (__getpinimg ($path))
휴식;
}
}
출구;
}

기능 __getpinimg ($path)
{
필요 ("$path/pinmap.php");
$PINV = $pin [랜드 (0, $pin _max)];
목록 ($file, $pin _code) = 폭발 ('#', $PINV);
$filepath = "$path / $ $pin_ext 파일";

출력 pincode 이미지입니다.
$fh = fopen ($filepath, "RB");
만약 (! $fh) 없음
반환 허위;
}
$data = Fread ($fh, 10240); PHP는 단지 최대 크기: 8 k를 읽었다.
Fclose ($FH);

경우 (strlen ($DATA) < 200) 없음
반환 허위;
}
쿠키 설정된;
헤더 ("콘텐츠-유형: 이미지 / jpeg");
$pin _code = strtolower ($pin _code);
$pin = Getpincookie ($pin _code);
Setcookie ("핀", $pin);

에코 $data;
반환 사실;
}

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.