? ???? ?? PHP? ???? ???? ???? ??? ???? ??? ?????. ???? ?? ??? ?? ???? ???????
????? ?????? ?? ???? ?? ????, ?? ????? ??? ??? ????? ???. ???? ???? ???? ?? ??? ???????.
???? ??
????? ???? ?? PHP? gd2 ??? ????? ??? ????? ???(php.ini?? "php_gd2.dll"? ???? "; Extension=php_gd2.dll"? ?? ?? ?? ??? ????? ?????.
??: PHP? gd2 ?????? ?? ??
Core: img.php
? ???? ?? ??? ???? ?????. ??? ? ?? ??
??? 4?? ????
$check=rand(1000,9999);?
?????. ??? ?? ??? ?????
Session_start();
$_SESSION["check"] = $check;
?? ???
$im = imagecreate(80,30);
? ???? ??? ????? ?????? ???? ??? ???.
imagefill($im,0,0,ImageColorAllocate($im, 255,255,255));
?????? ???? ? ?? ??? ???? ????
$y1=rand(0,30);
$y2=rand(0,30);
$y3=rand(0,30);
$y4=rand(0,30);
imageline($im,0,$y1,70, $y3,000);
imageline($im,0,$y2,70, $y4,000);
??? ??? ??? ???
$strx=rand(3,15);
$stry=rand(2,15);
imagestring($img,5,$strx,$stry,substr($check,0,1),ImageColorAllocate($img,34,87,100));
$strx+=rand(15,20);
$stry=rand(2,15);
imagestring($img,5,$strx,$stry,substr($check,1,1),ImageColorAllocate($img,781,117,78));
$strx+=rand(15,20);
$stry=rand(2,15);
imagestring($img,5,$strx,$stry,substr($check,2,1),ImageColorAllocate($img,160,40,40));
$strx+=rand(15,20);
$stry=rand(2,15);
imagestring($img,5,$strx,$stry,substr($check,3,1),ImageColorAllocate($img,25,55,10));
?? ???
Header("Content-type: image/PNG");
ImagePNG($img);
?, ?? ??? ??? ????
??? ?????: index.php
??? ??? ?? ??? ????? ??? ?? ???????
<!DOCTYPE html>
<html>
<body>
<form action="action.php" method="post">
<input type="text" name="cikle" placeholder="驗(yàn)證碼">
<br>
<img id="cikle" style="-webkit-user-select: none" src="img.php"><input type="submit" value="Submit">
</form>
</body>
</html>
? ??? ???? ??? ?? "action.php"? ?????
??: action.php
? ??? ??? ?? ???? ????. ?? ??
? ?? ?? ???? ??? ??? "???" ????.
? ?? ??? ??? "??"???
<?php
Session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if($_SESSION["check"]!=intval($_POST["cikle"])){
echo "不正確";
}else{
echo "正確";
}
}
? ??? PHP? ???? ??? ????. ???? ???? ????? ?? ??? ??? PHP ??? ????(m.miracleart.cn)? ? ?? ?? ??? ??? ??????!