<!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; }
永久链接:
转载随意!带上文章地址吧。
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article
How to fix KB5055612 fails to install in Windows 10?
4 weeks agoByDDD
Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Roblox: Grow A Garden - Complete Mutation Guide
3 weeks agoByDDD
Nordhold: Fusion System, Explained
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Atom editor mac version download
The most popular open source editor

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

Dreamweaver Mac version
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
