php网站进入需要验证码,php实现网站验证码功能

news/2024/5/9 15:58:40/文章来源:https://blog.csdn.net/weixin_29063035/article/details/115136803

本篇文章主要介绍php实现网站验证码功能,感兴趣的朋友参考下,希望对大家有所帮助。

验证码是网站常用的一项安全措施,也是新人站长较难掌握的一项技能,这里我向大家介绍一简单有效的验证码实现方法。

开始之前

在正式开始之前我们需要打开php的gd2图形库支持(在php.ini,中搜索“php_gd2.dll”,找到“;extension=php_gd2.dll”并去掉句首的分号) 。

可以参考:如何打开php的gd2库

核心:img.php

这个页面生成一张验证码并将正确数值写入 Session

随机一个4位验证码

$check=rand(1000,9999);

将生成的验证码写入session

Session_start();

$_SESSION["check"] = $check;

创建一张图片

$im = imagecreate(80,30);

由于这种图片的背景默认是黑色的所以我们要用白色填充。

imagefill($im,0,0,ImageColorAllocate($im, 255,255,255));

使用imageline随机绘制两条实线

$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);

结束,下面是完整代码

Session_start();

$_SESSION["check"] = $check;

$img = imagecreate(80,30);

imagefill($img,0,0,ImageColorAllocate($img,255,255,255));

$y1=rand(0,30);

$y2=rand(0,30);

$y3=rand(0,30);

$y4=rand(0,30);

imageline($img,0,$y1,70, $y3,ImageColorAllocate($img,55,255,25));

imageline($img,0,$y2,70, $y4,ImageColorAllocate($img,55,55,255));

$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

想必大家都知道怎么做,我就直接给出代码了

img.php

以上的代码将用户输入的数值传递到“action.php”中

检查:action.php

这一步要将用户输入数值与session中的数值进行比对

相等,输出“正确”

不相等,输出“不正确”

Session_start();

if ($_SERVER["REQUEST_METHOD"] == "POST") {

if($_SESSION["check"]!=intval($_POST["cikle"])){

echo "不正确";

}else{

echo "正确";

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关推荐:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_727141.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux如何清理nginx日志,Linux系统下nginx php实现清理服务器网站日志

本篇文章主要讲述的是在Linux系统下用nginx和php实现清理服务器网站日志,具有一定参考价值,感兴趣的朋友可以了解一下,希望对你能有所帮助。1.清空nginx站点日志的内容(如果删除日志文件,只有重启服务器才能重新生成日志文件进行记…

宝塔linux设置tls,宝塔面板中网站如何配置兼容支持SSL TLS1.3协议

我们有些网友是否发现,原来一直在使用且正常运行的网站也有配置SSL证书实现HTTPS加密访问。但是有些时候浏览器兼容性并不是太好,主要是因为目前需要支持兼容SSL TLS1.3协议,而以前基本上使用的是TLS 1.2协议。从TLS 1.3开始删除一些不安全的…

旅游类网站的服务器配置,旅游各类 网站界面

旅游各类 网站界面 内容精选换一换云速建站服务(Cloud Site-building Service)是一款帮助您搭建网站的华为云服务。提供PC、手机、微信网站、小程序、APP五站合一的模板建站产品,无需代码,自由拖拽,快速生成中小企业网站及网店、微信网店等。…

路由器显示不安全网络连接到服务器地址,解决用路由器上网出现无法访问部分网站的问题...

不知道从什么时候开始,电脑就经常出现无法访问部分网站的问题,百度、新浪、腾讯等都能上,其它的网站有一些就是上不了,打电话到10000号咨询,客服了解到我有用路由器,建议电脑直接连接Modem拨号上网看看是否…

idm 爬取网站 跳转路径_移动SEO网站优化要注重什么?

伴随着现如今数据流量的迁移,现如今愈来愈多的公司都刚开始高度重视手机端搜索引擎优化,而挪动SEO提升与PC端有非常大的不一样,不可以立即选用PC端的提升方法来做挪动端搜索引擎排名。那麼挪动SEOseo优化要重视哪些?1、高品质标准升级搜索引…

python爬虫登录网站_Python网络爬虫之模拟登陆

原标题:Python网络爬虫之模拟登陆为什么要模拟登陆? Python网络爬虫应用十分广泛,但是有些网页需要用户登陆后才能获取到信息,所以我们的爬虫需要模拟用户的登陆行为,在登陆以后保存登陆信息,以便浏览该页面…

微软网站为什么那么慢_为什么现在那么多公司选择响应式网站建设

为什么要选择响应式网站建设呢? 随着现在手机等移动设备的快速发展,一些传统式的网站早就已经没办法满足我们现在的需求,因此现在更加流行响应式网站建设。那么,响应式网站有什么优势呢?为什么现在越来越多的人选择响应…

group by 效率_这29个实用网站,能帮资深设计师提升效率和效果

这篇总结来自资深设计师Danny Sapio,他根据自己的工作经验总结了下面29个实用的设计网站和工具~其实如果你想要获取设计素材,这个时代是最不缺这些东西。网络上充斥着各种工具、插件、网站、资源,还有各种优化流程的文章,帮你成为…

动态网站的技术路线_网站排名在首位后,为什么还要继续做SEO?

做网站优化是一件需要长期做的工作,很多网站在取得了一定的高排名后还会依然坚持做SEO,下面我们就一起来分析一下为什么网站上了首页还要继续做SEO?一、SEO搜索结果是实时更新的互联网每分每秒都在发生着变化,随着时间、地点、访问…

网站演化整理

2019独角兽企业重金招聘Python工程师标准>>> 目的:高可用,高性能,可扩展。 1.单机时代 2.缓存出现 3.数据服务与应用分离 4.数据库读写分离 5.应用服务集群 6.集中式缓存,session集中缓存 7.动静分离 8.反向代理&#…

网站部署到服务器模板,Janus WebRTC服务器部署

第一步:安装janus依赖库和工具,并设置环境变量apt install git aptitudeaptitude install libmicrohttpd-dev libjansson-dev libssl-dev libcurl4-openssl-devaptitude install libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libsrtp-dev…

html mouseover css,图文详解鼠标事件CSS:hover和JS:mouseover的区别

在工作中为了使页面更具有吸引力,前端开发人员经常会在页面中加上鼠标移入和移出的效果。鼠标移入移出的设置,一般有两种方法,一种是单纯用CSS中的hover伪类,另一种可以用JS 中的DOM事件,即onmouseover和onmouseout。接…

五大步骤快速搭建个人网站

导语现在作为一个IT程序猿,没有一个自己的个人网站怎么行呢,现在就连许多不是IT人员都会搭建自己的个人网站 。那作为一个IT人员,如果别人让你帮忙搭建一下网站,然而你却没玩过,说不会,岂不是很尴尬 。另外…

碎片化学习,这些网站必不可少!

慕课网非常棒,因为它算是在线教育的“鼻祖”了,并且它的课程种类非常多,里面大牛也很多,值得推荐。猿团,也是一个非常不错的在线教育网站,课程也都是免费的,有很多非常不错的技术视频&#xff0…

推荐几个知名顶级的文献网站

点击上方“程序IT圈”,选择“置顶公众号”关键时刻,第一时间送达!有人在后台给我留言,让我推荐几个查找文献的网站,周末特别花了点时间整理了一下。在这里推荐给大家,希望对大家有帮助!本文总共…

TestCase--网站登录模块

以京东的登录页面为例 测试用例设计如下: 一、功能测试 1. 什么都不输入,点击登录按钮,系统是否给出提示2. 输入正确的用户名和密码,点击登录按钮,验证是否能正确登录3. 输入错误的用户名、正确的密码, 验证是否登录会…

使用WordPress搭建个人网站(文末福利)

程序IT圈学习编程技术,关注这个公众号足够了前几天阿里云的低价的99元/年云服务器,你是不是已经购买了,很多人购买了,不知道有没有用上呢,今天专门写篇关于WordPress搭建网站的博客,希望能帮助到你&#xf…

(赠书)推荐个程序猿学习博客网站

点击上方“程序IT圈”,选择“置顶公众号”关键时刻,第一时间送达!大家好,2018年4月15号默默的开通了个在线学习博客网站『程序猿圈』,目前经过了一个月的努力,终于沉淀了一些对于大家有价值的内容了&#x…

推荐程序员收藏的几个技术社区以及工具网站

我们的态度是:每天进步一点点,理想终会被实现。1前言作为程序猿要想成长快,进阶快,弯道超车必然付出的肯定不能比一般人多,别人在逛淘宝、天猫的时候我们逛的却是各大技术社区;那你经常逛的技术社区有哪些呢…

常见的网站攻击方式和防护方式

第一种:DOS攻击 攻击描述:通过协议方式,或抓住系统漏洞,集中对目标进行网络攻击,让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃。例如疯狂Ping攻击,泪滴…