网络安全从入门到精通 (第二章-6) 后端基础PHP—表单验证
本文内容:
- 什么是表单?
- 如何创建一个表单:
- 接收并验证:
- PHP和数据库交互
1,什么事表单?
表单在网页中主要负责数据采集。
表单由三部分组成:
表单标签:这里面包含了处理表单数据所用动态脚本的URL,以及数据提交到服务器的方法。
表单域:包含了文本框、密码框、隐藏域、多行文本、复选框、下拉选择框和文件上传框等。
表单按钮:包括提交按钮、复位框和一般按钮:用于数据传送到服务器上的动态脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
使用场景:
登录框
搜索框
留言框
上传框
……(各种框)
表单标签:<form action="URL" method="GET/POST">
action:数据提交到哪里。
method:什么方式提交。
表单域:即表单组件,主要有:文本框、密码框、隐藏域、复选框、单选框、文件上传框、多行文本框(文本域)。
补充:正常情况下,有框一定有表单,但是并不是一个框一个表单。
表单其实就是一个HTML标签=>form表单。
反斜杠:[转义字符]
2,如何创建一个表单?
<meta charset="utf-8">
<center>
<h3>后台登录</h3>
<form action="" method="POST">
账号:<input type="text" name="a"><br>
密码:<input type="password" name="b"><br>
<input type="submit" value="登录"/>
</form>
</center>

3,接收并验证表单:
验证表单:
数据长度、数据类型、是否存在敏感内容:stripos()、strstr()
stripos:查找字符串首次出现的位置(不区分大小写)。
stristr:查找字符串首次出现的位置,并返回其余部分字符串。
| 要求 | 检测函数 | 说明 |
| 字符串不能为空 | strlen() | 判断字符串长度是否为0 |
| 整数不小于1,不大于100 | <= >= | 使用大于小于判断整数范围 |
| 数组元素3个 | count() | 判断数据元素个数 |
| 必须为数字 | is_numeric() | 如果为数字返回true否则返回false |
| 必须是数组 | is_arrary | 数组返回true,非数组返回false |
| 不能为空 | is_null() | 为空返回true,否则返回false |
| isset() | 若存在该变量且不能为null,则返回true,否则返回false |
补充:SQL注入=>攻击核心就是输入的东西当做代码执行=>只要我们的传参在单引号内永远是字符串。
防注入核心方法:
正则匹配
字符串匹配
4,PHP和数据库交互:
如下:举例,详细看一下第二章-5
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功"; 3
?>
与君共勉:
自己喜欢的东西就不要问别人好不好看,
你的生活不会因为别人的话变好,
喜不喜欢,
决定权还是在自己。
网络安全从入门到精通 (第二章-6) 后端基础PHP—表单验证的更多相关文章
- 网络安全从入门到精通(第二章-3)后端基础SQL— MySQL高级查询与子查询
本文内容: MySQL的基础查询语句 链接查询 联合查询 子查询 渗透测试常用函数 1,MySQL基础查询语句: select * from 表 order by ASC/DESC; ASC:从小到 ...
- 网络安全从入门到精通 ( 第二章-5) 后端基础PHP—简介及基本函数-下
本文内容: 循环语句 PHP获取表单信息 PHP操作Mysql语句 语法SQL注入 1,循环语句: for循环: 语法:for($x=0,$x<10;$x++){执行语句;} 注意:$x++,先 ...
- 网络安全从入门到精通 (第二章-4) 后端基础PHP—简介及基本函数-上
本文内容 什么是PHP PHP的基础语法 运算符 条件分支语句 1,什么是PHP? PHP(超文本预处理器)是一种通用开源语言,(是动态语言中的一种,动态语言还有ASP,ASPX,JSP). PHP语 ...
- 网络安全从入门到精通 (第二章-2) 后端基础SQL—MySQL数据库简介及SQL语法
本文内容: 什么是数据库 常见数据库 数据库的基本知识 基本SQL语法 1,什么是数据库? 数据库就是将大量数据保存起来,通过计算机加工,可以高效访问的数据聚合. 数据库就是长期存储在计算机内,有组织 ...
- 网络安全从入门到精通 (第二章-1) Web安全前端基础
本文内容: 前端是什么? 前端代码 HTML CSS JS !!!醋成酒的小墨,促成就的小墨,小墨促成就,!!! 1,前端是什么? 网站一般用两部分组成,前端负责展示,后端负责处理请求. 2,前端代码 ...
- ExtJs 第二章,Ext.form.Basic表单操作
1.认识Ext.form.Panel表单面板 Ext.form.field.CheckBox 复选框 checkboxfield Ext.form.CheckBoxGroup 复选框组 ...
- SaltStack 入门到精通第二篇:Salt-master配置文件详解
SaltStack 入门到精通第二篇:Salt-master配置文件详解 转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...
- ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区
原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ...
- 第二十二章 Django会话与表单验证
第二十二章 Django会话与表单验证 第一课 模板回顾 1.基本操作 def func(req): return render(req,'index.html',{'val':[1,2,3...]} ...
随机推荐
- in与exist , not in与not exist 的区别
in和exists in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询.一直以来认为exists比in效率高的说法是不准确的. ...
- [转]<版本一>写代码的小女孩
天冷极了,下着雪,又快黑了.这是NOIP的前夜.在这又冷又黑的晚上,一个衣衫破烂的小女孩在机房敲着代码.她从班里逃出来的时候还拿着一本算导,但是有什么用呢?那是一本很破旧的书——那么大,一向是她妈妈垫 ...
- 为啥Waymo和Uber间的官司,这么难界定?
自动驾驶作为被众多巨头和创业者看好的技术及领域,已有众多企业涉足其中.在自动驾驶尚未完全落地.制定统一标准前,每家企业都在争分夺秒地进行研发,试图率先抢占自动驾驶的高地.毕竟一旦成功,就能够创造巨大的 ...
- 缓存系统——redis数据库
缓存系统有:mongodb.redis(速度更快).memcache 学习memcached 参考:http://www.cnblogs.com/wupeiqi/articles/5132791.ht ...
- appium ios真机自动化环境搭建&运行(送源码)
appium ios真机自动化环境搭建&运行(送源码) 原创: f i n 测试开发社区 6天前 Appium测试环境的搭建相对比较烦琐,不少初学者在此走过不少弯路 首先是熟悉Mac的使用 ...
- 通过ELK快速搭建集中化日志平台
ELK就是ElasticSearch + LogStash + Kibana 1.准备工作 ELK下载:https://www.elastic.co/downloads/ jdk version:1. ...
- Qt类声明中Q_OBJECT的作用与报错解决
2017-06-22 周四 大雨 北京 院里 新建作图类,继承自QCUstomPlot类 因为需要同时作8张图,都要单坐标缩放的功能,因此想干脆新建一个类,继承自QCUstomPlot,把需要的功能都 ...
- VR、网剧如何成为民间骗子中的朝阳产业
互联网的发达,让大众有了了解世界最好的传播工具.但与此同时,大量信息潮的涌来,让人们难以分辨其中的真假.于是,原本靠大力丸.保健药.假公章等行骗的骗子们开始转变方向,利用信息不对称性,大肆捏造与热 ...
- 【OpenCv-Python】Getting Started with Images
1.1读入图像 使用函数 cv2.imread() 读入图像.这幅图像应该在此程序的工作路径,或者给函数提供一个完整的路径,第二个参数是要告诉函数应该如何读取这幅图片. cv2.IMREAD_COLO ...
- 深入理解JVM(线程部分) Note
硬件的效率与一致性 由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的缓冲:将 ...