一个完整php验证码实例程序
php驗證碼
<!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/imghw/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; }
登入後複製
永久链接:
转载随意!带上文章地址吧。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
<🎜>:種植花園 - 完整的突變指南
3 週前
By DDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
如何修復KB5055612無法在Windows 10中安裝?
3 週前
By DDD
藍王子:如何到達地下室
1 個月前
By DDD
北端:融合系統,解釋
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)