验证码 |
时间:2021-03-21 21:54:58 来源: 作者: |
index.php
- <?php
- session_start();
- // 丢弃输出缓冲区的内容 **
- ob_clean();
- header ('Content-Type: image/png');
- // 1 创建画布
- $image=imagecreatetruecolor(100, 30);
- // 2 画一个矩形并填充背景颜色为白色
- $color=imagecolorallocate($image, 255, 255, 255);
- imagefill($image, 20, 20, $color);
- // for($i=0;$i<4;$i++){
- // $font=6;
- // $x=rand(5,10)+$i*100/4;
- // $y=rand(8, 15);
- // $string=rand(0, 9);
- // $color=imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
- // imagestring($image, $font, $x, $y, $string, $color);
- // }
- $code='';
- for($i=0;$i<4;$i++){
- $fontSize=8;
- $x=rand(5,10)+$i*100/4;
- $y=rand(5, 15);
- $data='abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHJKLMNPQRTUVWXYZ';
- $string=substr($data,rand(0, strlen($data)),1);
- $code.=$string;
- // 3.2 加载自定义字体
- $font_file = '1.ttf';
- $color=imagecolorallocate($image,rand(0,120), rand(0,120), rand(0,120));
- // 把文字填充到画布
- //imagefttext($image, 10, mt_rand(-5, 10), $x, $y, $color, $font_file, $string);
- imagestring($image, $fontSize, $x, $y, $string, $color);
- }
- $_SESSION['code']=$code;//存储在session里
- for($i=0;$i<200;$i++){
- $pointColor=imagecolorallocate($image, rand(100, 255), mt_rand(100, 255), rand(100, 255));
- imagesetpixel($image, mt_rand(0, 100), rand(0, 30), $pointColor);
- }
- for($i=0;$i<2;$i++){
- $linePoint=imagecolorallocate($image, rand(150, 255), rand(150, 255), rand(150, 255));
- imageline($image, rand(10, 50), rand(10, 20), rand(80,90), rand(15, 25), $linePoint);
- }
- imagepng($image);
- imagedestroy($image);
-
- ?>
复制代码 form.php
- <?php
- if(isset($_REQUEST['code'])){
- session_start();
- if($_REQUEST['code']==$_SESSION['code']){
- echo "<font color='red'>输入正确</font>";
- }else{
- echo "<font color='red'>输入错误</font>";
- }
- }
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <meta chartset="UTF-8" />
- <style type="text/css" rel="stylesheet">
- a{
- text-decoration:none;
- font-size:30px;
- color:blue;
- }
- a:hover{
- text-decoration:underline;
- }
- </style>
- </head>
- <body>
- <form action="form.php" method="get">
- 验证码: <img id="img" src="index.php?" onclick="changeCode()"/>
- <a href="javascript:void(0)" onclick="changeCode()">看不清?</a> <br />
- 请输入验证码: <input name="code" /><br />
- <input type="submit" value="提交" />
- </form>
- </body>
- <script type="text/javascript">
-
- function changeCode(){
- var img=document.getElementById('img');
- //img.src='index.php?r='+Math.random();
- img.setAttribute('src','index.php?r='+Math.random());
- }
- </script>
- </html>
复制代码 |
|
|
|
|
|
|