掌控安全Web安全微专业笔记 (5)

PHP获取表单

$_GET数组获取GET方式提交的内容 $_POST数组获取POST方式提交的内容 $_COOKIE数组获取COOKIE $_REQUEST数组获取GET|POST|COOKIE 七、PHP操作Mysql语句 连接数据库 $conn=mysqli_connect("127.0.0.1", "root", "root", "db_name"); $conn=mysqli_connect("addr", "usr", "password"); 选择数据库(相当于执行SQL语句的USE) mysqli_select_db($conn, "db_name"); 执行SQL语句 $result = mysqli_query($conn, "SQL"); 遍历查询结果 $row = mysqli_fetch_row(); // 返回一行 $table = mysqli_fetch_all(); // 返回全部内容(一个表) $row = mysqli_fetch_array($result); // 关闭数据库连接 mysqli_close($conn) 2-6 表单验证 一、什么是表单?

表单在网页中主要负责数据采集功能。

一个表单有三个基本组成部分:

表单标签:这里面包含了处理表单数据所用动态脚本的URL以及数据提交到服务器的方法。

表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。

表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的动态脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

使用场景:

登录框

搜索框

留言框

上传框

……(各种框)

image-20200926004828154

二、如何创建一个表单?

表单标签:

<form action= "URL" method="GET/POST" >

表单域:即表单组件,主要有
文本框、密码框、隐藏域、复选框、单选框、文件上传框
多行文本框(文本域)
下拉选择框
……

表单按钮:
提交按钮
复位按钮
一般按钮

image-20200926004932218

image-20200926004943168

三、接收并验证表单

验证表单:
数据长度
数据类型
是否存在敏感内容(stripos函数)stripos 、 strstr[stristr]

1


image-20200926005014297

isset() 若存在该变量且不为NULL则返回true,否则返回false

四、PHP和数据库交互

表单实际上做到的是将数据提交到后端脚本,然后后端脚本接受后进行处理。我们这里讲PHP和mysql数据库交互

我们会用到一个PHP的扩展mysqli (不用担心,这是自带的插件,我们可以理解为是一套函数就行了)

连接数据库:mysqli_connect(\'127.0.0.1\',\'root\',\'root\',\'3_9\') (连接地址,连接账户,连接密码,连接数据库)

执行数据库语句:mysqli_query(\(conn,\)sql) (数据库连接函数,执行的SQL语句)

通过数据库查询语句执行后得到的数据是一个对象,我们需要将对象转化为数组

从结果集取所有行变为数组 mysqli_fetch_array($result) (执行数据库获得的结果集)

image-20200926005039422

完结撒花

2-7 正则表达式 一、初识SQL注入

image-20201009190022994

逻辑没错,功能也能达到。
但是老师在不知道密码的情况下也能登录。
尝试密码框里面写 or 1=1#

什么是注入
注入攻击的本质,是把用户输入的数据当做代码执行
这里有两个关键条件:

第一个是用户能够控制输入

第二个是原本程序要执行的代码,拼接了用户输入的数据然后进行执行

那什么是SQL注入,就是针对SQL语句的注入,也可以理解为用户输入的数据当做SQL语句的代码执行了
SQL注入是1998年一名叫做rfp的黑客发表的一篇文章所进入大众视线的
那我们如何防护?现在常见的防护软件主流核心就是通过正则来过滤传参

二、 什么是正则表达式

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpdzz.html