侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

教你php如何实现验证码

php  /  管理员 发布于 7年前   241

验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。好吧,其实是没有事情干,但是又不想浪费时间,所以学习了下php实现验证码。正所谓,技多不压身。而且,也可以封装成一个函数,以后使用的时候也是很方便的,当然现在未封装。

现在来说说简单的纯数字验证码吧。

如果是初学者,建议按照我代码的注释 //数字 一步步来。最简单的方法,还是把整个代码复制走了。

新建一个captcha.php:

php  //10>设置session,必须处于脚本最顶部  session_start();  $image = imagecreatetruecolor(100, 30);    //1>设置验证码图片大小的函数  //5>设置验证码颜色 imagecolorallocate(int im, int red, int green, int blue);  $bgcolor = imagecolorallocate($image,255,255,255); //#ffffff  //6>区域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的区域着色,col 表示欲涂上的颜色  imagefill($image, 0, 0, $bgcolor);  //10>设置变量  $captcha_code = "";  //7>生成随机数字  for($i=0;$i<4;$i++){    //设置字体大小    $fontsize = 6;        //设置字体颜色,随机颜色    $fontcolor = imagecolorallocate($image, rand(0,120),rand(0,120), rand(0,120));      //0-120深颜色    //设置数字    $fontcontent = rand(0,9);    //10>.=连续定义变量    $captcha_code .= $fontcontent;      //设置坐标    $x = ($i*100/4)+rand(5,10);    $y = rand(5,10);    imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);  }  //10>存到session  $_SESSION['authcode'] = $captcha_code;  //8>增加干扰元素,设置雪花点  for($i=0;$i<200;$i++){    //设置点的颜色,50-200颜色比数字浅,不干扰阅读    $pointcolor = imagecolorallocate($image,rand(50,200), rand(50,200), rand(50,200));        //imagesetpixel ― 画一个单一像素    imagesetpixel($image, rand(1,99), rand(1,29), $pointcolor);  }  //9>增加干扰元素,设置横线  for($i=0;$i<4;$i++){    //设置线的颜色    $linecolor = imagecolorallocate($image,rand(80,220), rand(80,220),rand(80,220));    //设置线,两点一线    imageline($image,rand(1,99), rand(1,29),rand(1,99), rand(1,29),$linecolor);  }  //2>设置头部,image/png  header('Content-Type: image/png');  //3>imagepng() 建立png图形函数  imagepng($image);  //4>imagedestroy() 结束图形函数 销毁$image  imagedestroy($image);

接着就是静态页的代码了:index.html 

          确认验证码title>  head>  <body>    <form method="post" action="./form.php">      <p>验证码: ' style="width:100px; height:30px" />        换一个?a>      p>      <P>请输入验证码:<input type="text" name='authcode' value=''/>p>      <p><input type='submit' value='提交' style='padding:6px 5px;'/>p>    </body></html></pre><p>从index.html可以看到,提交的表单是到form.php的,所以还要有一个判断的form.php代码:</p><pre>php  header("Content-Type:text/html;charset=utf-8");      //设置头部信息  //isset()检测变量是否设置  if(isset($_REQUEST['authcode'])){    session_start();    //strtolower()小写函数    if(strtolower($_REQUEST['authcode'])== $_SESSION['authcode']){      //跳转页面      echo "<script language=\"javascript\">";      echo "document.location=\"./form.php\"";      echo "</script>";    }else{      //提示以及跳转页面      echo "<script language=\"javascript\">";      echo "alert('输入错误!');";      echo "document.location=\"./form.php\"";      echo "</script>";    }    exit();  }</pre><p>显示页面如下:<br></p><a href="https://www.zongscan.com/"></a><p></p><p>那么,纯数字的实现了,数字加英文的也应该不难了。要修改的代码 只是在 captcha.php 将 //7>生成随机数字 修改成 //7>生成随机的字母和数字,如果你真的很可爱的就修改这几个字就认为可以实现的话,那么祝贺你,你永远保持快乐。脑残儿童欢乐多。</p><p>废话不多说了,拉代码吧。</p><pre>php  //10>设置session,必须处于脚本最顶部  session_start();  $image = imagecreatetruecolor(100, 30);    //1>设置验证码图片大小的函数  //5>设置验证码颜色 imagecolorallocate(int im, int red, int green, int blue);  $bgcolor = imagecolorallocate($image,255,255,255); //#ffffff  //6>区域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的区域着色,col 表示欲涂上的颜色  imagefill($image, 0, 0, $bgcolor);  //10>设置变量  $captcha_code = "";  //7>生成随机的字母和数字  for($i=0;$i<4;$i++){    //设置字体大小    $fontsize = 8;        //设置字体颜色,随机颜色    $fontcolor = imagecolorallocate($image, rand(0,120),rand(0,120), rand(0,120));      //0-120深颜色    //设置需要随机取的值,去掉容易出错的值如0和o    $data ='abcdefghigkmnpqrstuvwxy3456789';    //取出值,字符串截取方法  strlen获取字符串长度    $fontcontent = substr($data, rand(0,strlen($data)),1);    //10>.=连续定义变量    $captcha_code .= $fontcontent;        //设置坐标    $x = ($i*100/4)+rand(5,10);    $y = rand(5,10);    imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);  }  //10>存到session  $_SESSION['authcode'] = $captcha_code;  //8>增加干扰元素,设置雪花点  for($i=0;$i<200;$i++){    //设置点的颜色,50-200颜色比数字浅,不干扰阅读    $pointcolor = imagecolorallocate($image,rand(50,200), rand(50,200), rand(50,200));        //imagesetpixel ― 画一个单一像素    imagesetpixel($image, rand(1,99), rand(1,29), $pointcolor);  }  //9>增加干扰元素,设置横线  for($i=0;$i<4;$i++){    //设置线的颜色    $linecolor = imagecolorallocate($image,rand(80,220), rand(80,220),rand(80,220));    //设置线,两点一线    imageline($image,rand(1,99), rand(1,29),rand(1,99), rand(1,29),$linecolor);  }  //2>设置头部,image/png  header('Content-Type: image/png');  //3>imagepng() 建立png图形函数  imagepng($image);  //4>imagedestroy() 结束图形函数 销毁$image  imagedestroy($image);</pre><p>其他的两个页面,不许要修改。</p><p></p><p>一般而言,现在就已经够用了。但是就像动漫一样,总会有番外。</p><p>那么,我们来个汉字的番外吧。其实我也准备将汉字的验证码放到我的毕业设计里面,虽然现在很流行滑动验证码,但是本人毕竟不是专门学习js的。</p><p>而且,还可以和答辩的老师说,我们验证码不需要素材,连图片也是生成的,用自己的知识装13,也没有设么的。</p><pre>php  //11>设置session,必须处于脚本最顶部  session_start();  //1>设置验证码图片大小的函数  $image = imagecreatetruecolor(200, 60);      //5>设置验证码颜色 imagecolorallocate(int im, int red, int green, int blue);  $bgcolor = imagecolorallocate($image,255,255,255); //#ffffff  //6>区域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的区域着色,col 表示欲涂上的颜色  imagefill($image, 0, 0, $bgcolor);  //7>设置ttf字体  $fontface = 'FZYTK.TTF';  //7>设置字库,实现简单的数字储备  $str='天地不仁以万物为刍狗圣人不仁以百姓为刍狗这句经常出现在控诉暴君暴政上地残暴不仁把万物都当成低贱的猪狗来看待而那些高高在上的所谓圣人们也没两样还不是把我们老百姓也当成猪狗不如的东西但实在正取的解读是地不情感用事对万物一视同仁圣人不情感用事对百姓一视同仁执子之手与子偕老当男女主人公含情脉脉看着对方说了句执子之手与子偕老女方泪眼朦胧含羞地回一句讨厌啦这样的情节我们是不是见过很多但是我们来看看这句的原句死生契阔与子成说执子之手与子偕老于嗟阔兮不我活兮于嗟洵兮不我信兮意思是说战士之间的约定说要一起死现在和我约定的人都走了我怎么活啊赤裸裸的兄弟江湖战友友谊啊形容好基友的基情比男女之间的爱情要合适很多吧';  //str_split()切割字符串为一个数组,一个中文在utf_8为3个字符  $strdb = str_split($str,3);    //>11  $captcha_code = '';  //8>生成随机的汉子  for($i=0;$i<4;$i++){    //设置字体颜色,随机颜色    $fontcolor = imagecolorallocate($image, rand(0,120),rand(0,120), rand(0,120));      //0-120深颜色    //随机选取中文    $in = rand(0,count($strdb));    $cn = $strdb[$in];    //将中文记录到将保存到session的字符串中    $captcha_code .= $cn;    /*imagettftext (resource $image ,float $size ,float $angle ,int $x ,int $y,int $color,    string $fontfile ,string $text ) 幕布 ,尺寸,角度,坐标,颜色,字体路径,文本字符串    mt_rand()生成更好的随机数,比rand()快四倍*/    imagettftext($image, mt_rand(20,24),mt_rand(-60,60),(40*$i+20),mt_rand(30,35),$fontcolor,$fontface,$cn);  }  //11>存到session  $_SESSION['authcode'] = $captcha_code;  //9>增加干扰元素,设置点  for($i=0;$i<200;$i++){    //设置点的颜色,50-200颜色比数字浅,不干扰阅读    $pointcolor = imagecolorallocate($image,rand(50,200), rand(50,200), rand(50,200));        //imagesetpixel ― 画一个单一像素    imagesetpixel($image, rand(1,199), rand(1,59), $pointcolor);  }  //10>增加干扰元素,设置线  for($i=0;$i<4;$i++){    //设置线的颜色    $linecolor = imagecolorallocate($image,rand(80,220), rand(80,220),rand(80,220));    //设置线,两点一线    imageline($image,rand(1,199), rand(1,59),rand(1,199), rand(1,59),$linecolor);  }  //2>设置头部,image/png  header('Content-Type: image/png');  //3>imagepng() 建立png图形函数  imagepng($image);  //4>imagedestroy() 结束图形函数 销毁$image  imagedestroy($image);</pre><p>效果图如下</p><p></p><p>以上就是本文的全部内容,帮助大家实现php数字验证码、php字母验证码、php汉字验证码,希望对大家的学习有所帮助。</p><h4>您可能感兴趣的文章:</h4><ul><li>php+ajax注册实时验证功能</li><li>基于PHP+Ajax实现表单验证的详解</li><li>PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)</li><li>php发送短信验证码完成注册功能</li><li>php生成4位数字验证码的实现代码</li><li>php验证手机号码</li><li>php实现点击可刷新验证码</li><li>如何使用PHP对网站验证码进行破解</li><li>php验证码实现代码(3种)</li><li>PHP+Ajax实现验证码的实时验证</li></ul><span id="art_bot"></span></p></dl>
										<style type="text/css">.social-share p{font-size:8px;}</style>
										<div class="social-share"></div>
									</div>
								</div>
							</div>
							<div class="row clearfix">
								<div class="col-md-12 column">
									<li class="list-group-item" style="background: #f5f5f5;border-radius: 4px;margin-bottom: 10px;">
										<br>上一条:<br>
																				<a href="/demo333/33200.html" class="list-group-item-heading">CodeIgniter配置之database.php用法实例分析</a>
																				<br>下一条:<br>
																				<a href="/demo333/33202.html" class="list-group-item-heading">CodeIgniter配置之routes.php用法实例分析</a>
																			</li>
								</div>
							</div>
							<div class="row clearfix">
								<div class="col-md-12 column">
								  <form class="form-horizontal" role="form" style="background: #f5f5f5;border: 1px solid #ddd;padding:10px 10px 0px;border-radius: 4px;margin-bottom: 10px;"  id="myForm" action="/index/art/comment.html" method="post">
									<p><span style="font-size: 12px;">昵称:</span><input type="text" name="nick" style="width: 100px;border-radius: 8px;"><span id="check_nick" style="font-size: 8px;color: red;display: none;padding-left: 45px;padding-top: 8px;"></span></p>
									<p><span style="font-size: 12px;">邮箱:</span><input type="text" name="email" style="width: 160px;border-radius: 8px;"></p>
									<textarea name="comment" id="comment" style="width:80%; height:100%"></textarea>
									<input type="hidden" name="art_id" value="33201">
									<input type="submit" value="发表评论" style="font-size: 12px;position: relative;left: 71%;">	
								  </form>
								</div>
							</div>
							<div class="row clearfix"><div class="col-md-12 column"><div class="form-group" style="margin-bottom: 5px;padding: 0 5px;"><span>0条评论</span> <span style="font-size:8px;color:red">(评论内容有缓存机制,请悉知!)</span><div style="float: right;font-size: 12px;"><a href="" style="padding: 0 5px;">最新</a><a href="">最热</a></div></div></div></div>
							<div class="row clearfix">
								<div class="col-md-12 column">
																</div>
							</div>
						</div>
						<div class="col-md-4 column">
							<div class="row clearfix">
								<div class="col-md-12 column">
									<!-- 正方ad -->
									<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-4802265324400044" data-ad-slot="1693614294" data-ad-format="auto" data-full-width-responsive="true"></ins>
									<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
								</div>
							</div>
							<!-- 分类 -->
							<div class="row clearfix">
								<div class="col-md-12 column">
									<ul style="background: #f5f5f5;border: 1px solid #ddd;border-radius: 4px;list-style: none;"><li style="font-size: 16px;font-weight: bold;padding: 10px 0 10px;">分类目录</li>
																			<li class="btn"><a href="/demo777/cat_id/1.html">人生(杂谈)</a></li>
																			<li class="btn"><a href="/demo777/cat_id/2.html">技术</a></li>
																			<li class="btn"><a href="/demo777/cat_id/18.html">linux</a></li>
																			<li class="btn"><a href="/demo777/cat_id/19.html">Java</a></li>
																			<li class="btn"><a href="/demo777/cat_id/20.html">php</a></li>
																			<li class="btn"><a href="/demo777/cat_id/30.html">框架(架构)</a></li>
																			<li class="btn"><a href="/demo777/cat_id/31.html">前端</a></li>
																			<li class="btn"><a href="/demo777/cat_id/33.html">ThinkPHP</a></li>
																			<li class="btn"><a href="/demo777/cat_id/34.html">数据库</a></li>
																			<li class="btn"><a href="/demo777/cat_id/35.html">微信(小程序)</a></li>
																			<li class="btn"><a href="/demo777/cat_id/36.html">Laravel</a></li>
																			<li class="btn"><a href="/demo777/cat_id/37.html">Redis</a></li>
																			<li class="btn"><a href="/demo777/cat_id/38.html">Docker</a></li>
																			<li class="btn"><a href="/demo777/cat_id/39.html">Go</a></li>
																			<li class="btn"><a href="/demo777/cat_id/40.html">swoole</a></li>
																			<li class="btn"><a href="/demo777/cat_id/41.html">Windows</a></li>
																			<li class="btn"><a href="/demo777/cat_id/42.html">Python</a></li>
																			<li class="btn"><a href="/demo777/cat_id/43.html">苹果(mac/ios)</a></li>
																		</ul>
								</div>
							</div>
							<div class="row clearfix">
								<div class="col-md-12 column">
									<ul style="background: #f5f5f5;border: 1px solid #ddd;border-radius: 4px;list-style: none;"><li style="font-size: 16px;font-weight: bold;padding: 10px 0 10px;">相关文章</li>
																				<li><a href="/demo333/96842.html">Laravel从Accel获得5700万美元A轮融资</a>(0个评论)</li>
																				<li><a href="/demo333/96839.html">PHP 8.4 Alpha 1现已发布!</a>(0个评论)</li>
																				<li><a href="/demo333/96826.html">用Time Warden监控PHP中的代码处理时间</a>(0个评论)</li>
																				<li><a href="/demo333/96806.html">在PHP中使用array_pop + yield实现读取超大型目录功能示例</a>(0个评论)</li>
																				<li><a href="/demo333/96795.html">Property Hooks RFC在PHP 8.4中越来越接近现实</a>(0个评论)</li>
																			</ul>
								</div>
							</div>
							<div class="row clearfix">
								<div class="col-md-12 column">
									<ul style="background: #f5f5f5;border: 1px solid #ddd;border-radius: 4px;list-style: none;"><li style="font-size: 16px;font-weight: bold;padding: 10px 0 10px;">近期文章</li>
																		<li><a href="/demo333/96854.html">在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案</a>(0个评论)</li>
																		<li><a href="/demo333/96853.html">智能合约Solidity学习CryptoZombie第四课:僵尸作战系统</a>(0个评论)</li>
																		<li><a href="/demo333/96852.html">智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)</a>(0个评论)</li>
																		<li><a href="/demo333/96851.html">智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食</a>(0个评论)</li>
																		<li><a href="/demo333/96850.html">智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸</a>(0个评论)</li>
																		<li><a href="/demo333/96849.html">在go中实现一个常用的先进先出的缓存淘汰算法示例代码</a>(0个评论)</li>
																		<li><a href="/demo333/96848.html">在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能</a>(0个评论)</li>
																		<li><a href="/demo333/96847.html">在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能</a>(1个评论)</li>
																		<li><a href="/demo333/96846.html">在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能</a>(95个评论)</li>
																		<li><a href="/demo333/96845.html">gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案</a>(0个评论)</li>
																		</ul>
								</div>
							</div>
							<div class="row clearfix">
								<div class="col-md-12 column">
									<ul style="background: #f5f5f5;border: 1px solid #ddd;border-radius: 4px;list-style: none;"><li style="font-size: 16px;font-weight: bold;padding: 10px 0 10px;">近期评论</li>
																			<li>
											<p style="font-size: 10px;margin-bottom: 0px;">122 在</p><a href="/demo333/96820.html">学历:一种延缓就业设计,生活需求下的权衡之选</a><span style="font-size: 10px;">中评论</span>
											工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..										</li>
																			<li>
											<p style="font-size: 10px;margin-bottom: 0px;">123 在</p><a href="/demo333/96603.html">Clash for Windows作者删库跑路了,github已404</a><span style="font-size: 10px;">中评论</span>
											按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..										</li>
																			<li>
											<p style="font-size: 10px;margin-bottom: 0px;">原梓番博客 在</p><a href="/demo333/96695.html">在Laravel框架中使用模型Model分表最简单的方法</a><span style="font-size: 10px;">中评论</span>
											好久好久都没看友情链接申请了,今天刚看,已经添加。..										</li>
																			<li>
											<p style="font-size: 10px;margin-bottom: 0px;">博主 在</p><a href="/demo333/435.html">佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法</a><span style="font-size: 10px;">中评论</span>
											@1111老铁这个不行了,可以看看近期评论的其他文章..										</li>
																			<li>
											<p style="font-size: 10px;margin-bottom: 0px;">1111 在</p><a href="/demo333/435.html">佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法</a><span style="font-size: 10px;">中评论</span>
											网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..										</li>
																		</ul>
								</div>
							</div>
							<div class="row clearfix">
								<div class="col-md-12 column">
									<div class="btn-group" style="width: 100%">
										<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">文章归档 <span class="caret"></span></button>
										<ul class="dropdown-menu" role="menu">
																						<li style="display: inline-block;"><a href="/demo777/date/2016-10.html" style="color:#337ab7;padding:3px 5px;">2016-10</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2016-11.html" style="color:#337ab7;padding:3px 5px;">2016-11</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2017-06.html" style="color:#337ab7;padding:3px 5px;">2017-06</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2017-07.html" style="color:#337ab7;padding:3px 5px;">2017-07</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2017-08.html" style="color:#337ab7;padding:3px 5px;">2017-08</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2017-09.html" style="color:#337ab7;padding:3px 5px;">2017-09</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2017-11.html" style="color:#337ab7;padding:3px 5px;">2017-11</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2017-12.html" style="color:#337ab7;padding:3px 5px;">2017-12</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2018-01.html" style="color:#337ab7;padding:3px 5px;">2018-01</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2018-02.html" style="color:#337ab7;padding:3px 5px;">2018-02</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2018-03.html" style="color:#337ab7;padding:3px 5px;">2018-03</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2020-03.html" style="color:#337ab7;padding:3px 5px;">2020-03</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2020-04.html" style="color:#337ab7;padding:3px 5px;">2020-04</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2020-05.html" style="color:#337ab7;padding:3px 5px;">2020-05</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2020-06.html" style="color:#337ab7;padding:3px 5px;">2020-06</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2020-07.html" style="color:#337ab7;padding:3px 5px;">2020-07</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2020-09.html" style="color:#337ab7;padding:3px 5px;">2020-09</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-02.html" style="color:#337ab7;padding:3px 5px;">2021-02</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-03.html" style="color:#337ab7;padding:3px 5px;">2021-03</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-04.html" style="color:#337ab7;padding:3px 5px;">2021-04</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-05.html" style="color:#337ab7;padding:3px 5px;">2021-05</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-06.html" style="color:#337ab7;padding:3px 5px;">2021-06</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-07.html" style="color:#337ab7;padding:3px 5px;">2021-07</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-08.html" style="color:#337ab7;padding:3px 5px;">2021-08</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-09.html" style="color:#337ab7;padding:3px 5px;">2021-09</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-10.html" style="color:#337ab7;padding:3px 5px;">2021-10</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-11.html" style="color:#337ab7;padding:3px 5px;">2021-11</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2021-12.html" style="color:#337ab7;padding:3px 5px;">2021-12</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-01.html" style="color:#337ab7;padding:3px 5px;">2022-01</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-02.html" style="color:#337ab7;padding:3px 5px;">2022-02</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-05.html" style="color:#337ab7;padding:3px 5px;">2022-05</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-06.html" style="color:#337ab7;padding:3px 5px;">2022-06</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-07.html" style="color:#337ab7;padding:3px 5px;">2022-07</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-08.html" style="color:#337ab7;padding:3px 5px;">2022-08</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-09.html" style="color:#337ab7;padding:3px 5px;">2022-09</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-10.html" style="color:#337ab7;padding:3px 5px;">2022-10</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-11.html" style="color:#337ab7;padding:3px 5px;">2022-11</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2022-12.html" style="color:#337ab7;padding:3px 5px;">2022-12</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-01.html" style="color:#337ab7;padding:3px 5px;">2023-01</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-02.html" style="color:#337ab7;padding:3px 5px;">2023-02</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-03.html" style="color:#337ab7;padding:3px 5px;">2023-03</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-04.html" style="color:#337ab7;padding:3px 5px;">2023-04</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-05.html" style="color:#337ab7;padding:3px 5px;">2023-05</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-06.html" style="color:#337ab7;padding:3px 5px;">2023-06</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-07.html" style="color:#337ab7;padding:3px 5px;">2023-07</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-08.html" style="color:#337ab7;padding:3px 5px;">2023-08</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-09.html" style="color:#337ab7;padding:3px 5px;">2023-09</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-10.html" style="color:#337ab7;padding:3px 5px;">2023-10</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-11.html" style="color:#337ab7;padding:3px 5px;">2023-11</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2023-12.html" style="color:#337ab7;padding:3px 5px;">2023-12</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2024-01.html" style="color:#337ab7;padding:3px 5px;">2024-01</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2024-02.html" style="color:#337ab7;padding:3px 5px;">2024-02</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2024-03.html" style="color:#337ab7;padding:3px 5px;">2024-03</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2024-04.html" style="color:#337ab7;padding:3px 5px;">2024-04</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2024-05.html" style="color:#337ab7;padding:3px 5px;">2024-05</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2024-06.html" style="color:#337ab7;padding:3px 5px;">2024-06</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2024-07.html" style="color:#337ab7;padding:3px 5px;">2024-07</a></li>
																						<li style="display: inline-block;"><a href="/demo777/date/2024-09.html" style="color:#337ab7;padding:3px 5px;">2024-09</a></li>
																					</ul>
									</div>
								</div>
							</div>
						</div>
						<a href="#top" style="width: 35px;height: 35px;background: #286090;position: fixed;right: 55px;bottom: 20%;border-radius: 50px;line-height: 30px;text-align: center;color: #fff;z-index: 1000;">Top</a>
					</div>
				</div>
			</div>
<!-- 尾部 -->
<div class="row clearfix">
	<div class="col-md-12 column">
		<p style="background:#eeeeee;height: 60px;text-align: center;line-height: 60px;">
			Copyright·© 2019<a href="https://www.zongscan.com/" title="侯体宗的博客"> 侯体宗</a>版权所有·
			<a rel="nofollow" href="http://beian.miit.gov.cn/" target="_blank">粤ICP备20027696号</a>
			<a rel="nofollow" target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=18fd111045dfedfaaec63e92733754db7c223601aa9d81a777ecfaa2c9bea9a1"><img style="width: 80px;" src="//pub.idqqimg.com/wpa/images/group.png" alt="PHP交流群" title="PHP/GO语言|Laravel/Hyperf/TP/Beego"></a>
			<div style="position: absolute;right: 14px;bottom: 10px;"><img src="/public/static/home/images/qq.png" alt="侯体宗的博客" style="width: 60px;"></div>
		</p>
	</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="/public/static/home/js/jquery.form.min.js"></script>
<script type="text/javascript" src="/public/static/home/js/3dtags.js"></script>
<script>var odsmE1 = odsmE1 || [];(function() {  var yZ$bV2 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x73\x63\x72\x69\x70\x74");  yZ$bV2["\x73\x72\x63"] = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x68\x6d\x2e\x62\x61\x69\x64\x75\x2e\x63\x6f\x6d\x2f\x68\x6d\x2e\x6a\x73\x3f\x65\x37\x64\x39\x34\x35\x38\x39\x36\x64\x36\x61\x35\x65\x62\x34\x35\x37\x30\x62\x66\x32\x39\x66\x64\x31\x62\x65\x38\x38\x61\x65";  var MsUTUSUX3 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65"]("\x73\x63\x72\x69\x70\x74")[0];   MsUTUSUX3["\x70\x61\x72\x65\x6e\x74\x4e\x6f\x64\x65"]["\x69\x6e\x73\x65\x72\x74\x42\x65\x66\x6f\x72\x65"](yZ$bV2, MsUTUSUX3);})();</script>

<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>
<script>
(function(){
var src = "https://jspassport.ssl.qhimg.com/11.0.1.js?d182b3f28525f2db83acfaaf6e696dba";
document.write('<script src="' + src + '" id="sozz"><\/script>');
})();
</script>
<script>
(function(){
	var el = document.createElement("script");
	el.src = "https://sf1-scmcdn-tos.pstatp.com/goofy/ttzz/push.js?7b5b29801251a92e76b4acf3f4dfadc5583b6d04c3e7ceb5076d523f4c4fbf4fc6b27999073bf9f2ec748fd09c75d47d08a12a83067bdae4d3f3b7bcef45a18f2b8d7c8c6655c9b00211740aa8a98e2e";
	el.id = "ttzz";
	var s = document.getElementsByTagName("script")[0];
	s.parentNode.insertBefore(el, s);
})(window)
</script>



<!--<script src="https://cdn.bootcdn.net/ajax/libs/social-share.js/1.0.9/js/share.min.js"></script>-->
<!--<script src="https://cdn.bootcdn.net/ajax/libs/lrsjng.jquery-qrcode/0.9.5/jquery.qrcode.min.js"></script>-->
<!--编辑器-->
<script type="text/javascript" src="/public/static/home/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="/public/static/home/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
    var ue = UE.getEditor('comment',{
        toolbars: [['fullscreen', 'source', '|', 'undo', 'redo', '|','bold', 'italic', 'underline', 'fontborder','snapscreen','scrawl','insertvideo', 'music', 'attachment', 'map', 'gmap', 'insertframe', 'insertcode', 'pagebreak', 'template', '|', 'simpleupload']],initialFrameWidth:null,initialFrameHeight:100});
</script>
<script> 
$(document).ready(function() { 
    // bind form using ajaxForm 
    $('#myForm').ajaxForm({ 
        dataType:  'json', 
        // success:   processJson 
        success: function(data){
          if (data.error == 1) {
            alert(data.info);
            location.reload();
          }else{
            $("#check_nick").html(data.info);
            $("#check_nick").css("display","block");
          };
        }
    }); 

});
//dianzan
 function dianzan(obj,id){
 	//alert($(obj).html());
    id = id;
    $.ajax({
        url: "/index/art/dianzan.html",//请求地址
        type: "post",//请求方式
        dataType: "json",//返回数据类型
        data: {id:id},//发送的参数
        })
        .done(function(data) {
              if(data.error==0){
					alert(data.info);
              }else{
              	//alert(data.zan);
                $(obj).children('.rezan').html(data.zan);
                $(obj).removeAttr("onclick");//防重复点击
              }
          })
        .fail(function() {
            alert("ajxs交互失败");
        })  
    return false;
 }

</script> 

   </body>
</html><script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="3a684bb0022a67bb8c80bfa7-|49" defer></script>