大家都知道,验证码在网站注册,登录以及很多的时候都是必备的功能。没有了验证码,网站的安全性在很大程度上就受到了威胁。所以说,验证码是网站开发过程中不可或缺的一个功能,验证码的效果直接影响到网站的安全性。(这里博主也顺便吐槽一下,验证码这功能着实蛋疼,动不动就要输个验证码,看着真心烦。前段时间12306还出了个动态验证码,尼玛我想说全宿舍没有人能输入正确。只希望赶快出个替代性的功能,结束这个操蛋功能,我想没几个用户喜欢整天对着验证码吧)。好了,废话不说了。
先用思维导图理清整体思路:
在auth.php中使用GD库进行画图,布置验证码背景,将随机生成的字符串添加到背景中,同时将字符串存到session中,保证在任何页面中都可以抠出这验证码。在form.html中写个简单的登录表格,重点是有验证码环节,用标签加载auth.php中的验证码。然后将数据提交到submit.php页面。在submit.php中,首先进行验证码验证(这里不讨论username和password),看session中存的字符串和form.html提交上来的验证码的字符串是否相同,在这里之前为了不区分大小写,一律将字符串转为小写。若字符串相同,则进行页面跳转。若不同则返回登录页面。
<?phpheader ("content-type:text/html;charset=utf-8");//开启sessionsession_start();//准备画布$im=imagecreatetruecolor(50,25);//准备涂料$black=imagecolorallocate($im,0,0,0);$gray=imagecolorallocate($im,200,200,200);//背景填充imagefill($im,0,0,$gray);//文字居中$x=(50-10*4)/2;$y=(25-5)/2+5;//准备文字$arr=array_merge(range(0,9),range('a','z'),range('A','Z'));shuffle($arr);$str=implode(array_slice($arr,0,4));//把$str放入session中,方便所有页面中调用$_SESSION['vstr']=$str;$file="fonts/simsun.ttc";imagettftext($im,10,0,$x,$y,$black,$file,$str);//输出到浏览器上或保存起来header("content-type:image/png");imagepng($im);//关闭画布imagedestory($im);?>
(1)header头部前面不能够有任何的输出
(2)在使用session之前必须开启session
2.form.html<meta charset="utf-8"> <title>登录</title> <style> table{ border-collapse:collapse; } img{ margin-top:5px; } </style> <h2 id="用户登录页面">用户登录页面</h2> <hr>
(2)尽量保证文本框和验证码的协调
3.submit.php<?phpheader ("content-type:text/html;charset=utf-8");session_start();$code=strtolower($_POST['vcode']);$str=strtolower($_SESSION['vstr']); if($code==$str){ //页面跳转 echo "<script>location='http://www.baidu.com'";}else{ echo "<script>alert('验证码输入错误');</script>"; echo "<a href="form.html">返回登录页面</a>"; }?>(1)使用strtolower()将字符串全部转为小写,就免去了验证码区分大小写的麻烦过程。
(2)使用if语句进行判断两个字符串相等是否为true。
(3)里面加了一点js的东西,在<script>location=''</script>的引号中添加需要跳转的地址,就能直接跳转。当然用header()也行,但是header()前面不能有输出,局限性太大。最好还是用js。

随着互联网的发展,人们越来越依赖网络,大部分时间都在使用各种各样的网站和应用程序,这也使得我们需要记住很多账号和密码。为了方便用户的使用,很多网站提供了自动登录功能,让用户免除频繁输入账号和密码的烦恼。本文将介绍使用JavaScript实现自动登录功能的方法。一、登录流程分析在开始实现自动登录功能之前,我们需要了解整个登录流程。一般情况下,一个网站的登录流程

PHP作为一款流行的后端编程语言,在Web开发领域广受欢迎。天气预报功能是一种常见的Web应用场景,基于PHP实现天气预报功能相对简单易懂。本文将介绍如何使用PHP实现天气预报功能。一、获取天气数据API要实现天气预报功能,首先需要获取天气数据。我们可以使用第三方天气API来获取实时、准确的天气数据。目前,国内主流的天气API供应商包括免费的“心知天气”和收

在Copilot目前在Windows11上拥有的少数功能中,也许最有用的功能是允许您交互和调整已复制到剪贴板的文本的功能。这使得将Copilot用作文本编辑和摘要工具变得容易,您可以直接从桌面使用。以下是您需要了解的有关使用Copilot在Windows上解释、修订、扩展和汇总文本的所有信息。如何在WindowsCopilot中使用复制的文本Copilot的预览版让我们第一次很好地了解了Windows对原生AI支持的集成。修改或扩展从其他地方复制的文本的早期功能之一可以通过内容创建、摘要、修订和

Apple今日释出了Safari技术预览173版本,涵盖部分可能于Safari17推出的功能。该版本适用于macOSSonoma测试版以及macOSVentura系统,有兴趣的用户可于官方网页下载。Safari技术预览173版于设定中新增了功能标志区块,取代原先开发菜单的实验功能。该区块可让开发者快速地搜索特定功能,并以不同形式将「稳定」、「可供测试」、「预览」或「开发人员」等状态标示出来。重新设计的开发菜单可以帮助创作者更容易找到关键工具,以便建立网页、网页应用程序、其他应用程序中的网页内容、

Apple在设备中内置了这个方便的功能,可以从iPhone上的相机轻松访问它,这将允许您自动扫描设备上的QR码。二维码代表快速响应码,本质上是一种二维条形码,可以通过配备内置摄像头的各种智能手机和其他电子设备轻松扫描和解释。扫描二维码后,用户通常会被定向到特定网站或提示激活应用程序中的特定功能。这种令人难以置信的方便功能在现代智能手机(包括Apple的iPhone)中变得越来越普遍,它是用户以最小的努力访问信息,服务或功能的便捷方式。许多公司在实体产品上使用此功能,您可以扫描其产品上的二维码,然

鸿蒙os3.0目前正在测试阶段,很快用户就将迎来新的系统体验了,那么相较于2.0版本,鸿蒙os3.0有什么功能呢?华为鸿蒙3.0包含了多屏协同、性能共享等功能,用户可以获得更加完善的协同体验,同时也能提升手机运行大型游戏或软件的流畅度。另外,它简化了小窗交互方式,并改进通知栏,带给你更为完美的体验,接下来就让小编给大家分析一下华为鸿蒙3.0新功能介绍,一起来了解一下吧。华为鸿蒙3.0功能介绍1、多屏协同:此前鸿蒙2.0可以在电脑手机之间互相切换使用,提高了用户的工作效率和使用体验,但此次的鸿蒙3

Apple今日正式发表iOS17,针对电话、FaceTime、讯息等方面作出了改善,让用户得以用不同以往的方式来与他人互动。透过iOS17,用户还能够全新的「NameDrop」功能来与朋友分享自己的资讯,只要使用者将装置贴近对方装置即可。Apple还将推出《日记》App,适合用来记录统整你想要保存的信息,例如照片、位置、活动、音乐等等,App甚至能够为你提供写作范例,让记录更加简单直截,该app预计将于今年稍晚于iOS推出。升級至iOS17後,當使用者將裝置橫放時,還能夠將iPhone當作時鐘使

GoogleColab是一个自2017年以来一直在促进Python编程的平台,它将利用Google的高级代码模型Codey引入AI编码功能。Codey基于PaLM2模型构建,对来自外部来源的大型高质量代码数据集进行了精心微调,以提高其在编码任务方面的性能。Colab即将推出的功能包括代码补全、自然语言到代码生成以及代码辅助聊天机器人。最初的重点将放在代码生成上,该功能旨在使用户能够生成更大的代码块并从注释或提示编写整个函数。这旨在减少编写重复代码的需求,允许用户专注于编程和数据科学的更复杂的方面


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版
好用的JavaScript开发工具

Atom编辑器mac版下载
最流行的的开源编辑器