网络安全学习日志(六)-php语言
php学习目标
1了解php语言的基础语法与核心特性,能独立阅读,理解并修改php源码
2了解常见的php语言漏洞 sql注入,xss,文件上传等
1php常见的语法
1php注释
//单行注释
/*多行注释*/
例子

2定义变量
php命名规则
变量必须以$符号开始,后面跟着变量的名称
变量必须以字母或下划线字符开始
变量只能包含字母,数字以及下划线
变量名不能包含空格
变量名需要区分大小写

我们在浏览器中看一下效果

可见带有了标题效果
3定义数组
php可定义数组用于输出

4条件变量

for语句 while语句 if else语句
类的概念
类用来描述具有相同属性和方法对象的结合

魔术方法:就是php提前写好的只要满足条件就自动运行的方法
名字以两个下划线开头
不用你手动调动,可以自己跑常见的魔术方法有
__construct魔术方法当新创建一个类对象时自动触发方法

--destruct()方法
当对象被销毁是自动触发

这里放一些基础的魔术方法以及在网络安全方面常用的魔术方法这里不再一个一个展示实在很多


作为网安人这方面可以说是很重要
php表单操作
用户提交数据时通常未使用表单进行提交,也可以使用网址中的参数传递数据,这些通过http请求的方式发送,使web服务器获取
get操作收集通过url参数提交数据主要将提交的数据通过地址栏拼接的方式发送给后端
非常简单的前端测试代码

后端代码


post方法的数据是以加密的方式传送给后端在地址栏中无法发现只能通过后端对变量进行调用才可发现
后端代码

前端代码


file文件上传
前端代码

后端代码

该代码测试需要你在项目文件夹创建upload文件夹否则会报错
序列化反序列化
传递多个数据可以使用序列化对象
序列化serialize可以将一个php对象()转换成一个可存储,可传输的字符串过程
unserialize是将这个季父传还原为原来的php对象

前端代码



O:7:"student":3:{s:4:"name";s:1:"1";s:3:"age";s:1:"1";s:3:"pwd";s:1:"1";}
这个o代表这是一个object对象 7则代表类型student的长度 3则说明这里面有三个属性
括号里的s则代表这是一个string类型的属性 4说明属性名的长度为4name是名字
更多推荐
所有评论(0)