网络安全从入门到精通 (第二章-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
与君共勉:
自己喜欢的东西就不要问别人好不好看,
你的生活不会因为别人的话变好,
喜不喜欢,
决定权还是在自己。