<!doctype html> <html xml:lang="en-us" xmlns="http://www.w3.org/1999/xhtml"> <title>login</title> <link rel="stylesheet" type="text/css" href="/tryit.css" /> <script type="text/javascript"> function getpinimg() { document.getelementbyid("pinimg").src="log_demo.php?a=pin&r=" + math.random(); } </script> </head> <body> <form action="log_demo.php" method="get"> <input type="hidden" name="a" value="log" /> user:<input type="text" name="user" size="20" value="test" /><br /><br /> password:<input type="password" name="pass" size="12" value="123456" /><br /><br /> pincode:<input type="text" name="pin" size="8" value="" /> <input type="button" value="getpin" onclick="getpinimg();"> <img src="/static/imghwm/default1.png" data-src="log_demo.php?a=pin" class="lazy" id="pinimg" onclick="getpinimg();" / alt="一个完整php验证码实例程序 " > <input type="submit" value="submit"><br /> </form> </body> </html>
log_demo.php代码如下:
<?php require_once ("log_aux.php"); if ($_get['a'] == "pin") { getpinimg(); exit; } if ($_get['a'] == "log") { $ret = checkpincookie($_get['pin'], 300); if ($ret < 0) { //开源代码phprm.com echo "pin error:$ret "; exit; } // check user name and password. echo "ok..$ret "; if ("123xx" == 123) { echo "dddd "; } echo $_get['u']; } ?>
log_aux.php代码如下:
<?php $magic_a = "www.phprm.com34589"; $magic_b = "234566***+"; function getpincookie($pin_code) { global $magic_a; global $magic_b; $now = time(); $client_ip = $_server['remote_addr']; $pin = md5($now . $client_ip . $magic_a . $pin_code . $maigc_b) . $now; return $pin; } function checkpincookie($pin_code_in, $timeout = 300) // 5 miniuteswww.phprm.com { global $magic_a; global $magic_b; $pin = substr($_cookie['pin'], 0, 32); $time = substr($_cookie['pin'], 32); $now = time(); if ($now - $time > $timeout) { return -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 . $maigc_b); if ($pin === $pin_2) { return 0; } else { return -200; // pincode is error. } } function getpinimg() { // $rnd = rand(0, 10); $rnd = 0; $path = "./www.phprm.com/" . substr("00000$rnd", -4); for ($i = 0; $i < 4; ++$i) { if (__getpinimg($path)) { break; } } exit; } function __getpinimg($path) { require ("$path/pinmap.php"); $pinv = $pin[rand(0, $pin_max) ]; list($file, $pin_code) = explode('#', $pinv); $filepath = "$path/$file$pin_ext"; // output pincode image. $fh = fopen($filepath, "rb"); if (!$fh) { return false; } $data = fread($fh, 10240); // php just read max size: 8k. fclose($fh); if (strlen($data) < 200) { return false; } // set cookie; header("content-type: image/jpeg"); $pin_code = strtolower($pin_code); $pin = getpincookie($pin_code); setcookie("pin", $pin); echo $data; return true; }
永久链接:
转载随意!带上文章地址吧。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Dreamweaver Mac版
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
