20260205网安学习日志
20260204Web后端安全一、工具介绍一PHPPHP全称PHP: Hypertext Preprocessor超⽂本预处理器是⼀⻔开源的服务器端脚本编程语⾔专⻔⽤于开发Web⽹站的后端逻辑。 可免费下载使⽤PHP ⽂件可包含⽂本、HTML、JavaScript代码和 PHP 代码PHP 代码在服务器上执⾏结果以纯 HTML 形式返回给浏览器。是目前使用最多的后端语言。⽹站的组成分为「前端」和「后端」两者分⼯明确缺⼀不可前端HTML/CSS/JS只负责「展示」⽐如⻚⾯布局、按钮样式、图⽚显示运⾏在⽤户电脑决定⽹站「⻓什么样」。后端PHP⽹站的核⼼⼤脑只负责「处理业务逻辑」运⾏在服务器决定⽹站「能做什么」。PHP负责处理⽹站所有的核⼼操作包括1.验证⽤户的账号密码是否正确判断能否登录 2.接收⽤户上传的⽂件、表单信息并处理/保存 3.操作数据库实现数据的增删改查⽐如存储⽤户信息、⽂章内容 4.处理⽤户的所有请求返回对应的结果给前端。二phpStudyPHPStudy 是⼀个集成的 PHP 开发环境⼯具包主要⽤于 Windows 平台它简化了 PHP 开发环境的搭建过程特别适合初学者和快速开发需求。是新手搭建 PHP 开发环境的首选工具一键集成 Apache/Nginx、PHP、MySQL无需手动配置核心操作是「创建站点」通过自定义本地域名和根目录可快速运行 PHP 项目。三TraeTrae 是字节跳动 2025 年推出的AI 原生集成开发环境 (IDE)底层基于 VS Code 深度定制从架构层面深度集成豆包大模型等 AI 能力主打自然语言驱动开发与全流程智能化对中文开发者友好兼容 VS Code 生态特别适合 Web 开发含 PHP场景可与 PHPStudy 完美配合提升开发效率。二、PHP一基础语法?php echo hello world; ?PHP 代码必须包含在 ?php ... ?标签中 这是服务器识别 PHP 代码的标识每条语句以;分号结束。//单行注释 /多行注释?php $message 欢迎学习PHP; //定义变量message**变量名可以自定义但是最好要见词生意** $name张三 echo $message.$name; //输出变量message ?所有变量都必须以$符号开头。. 连接字符串表示拼接PHP可以和HTML结合在一起用混合输出二数组创建数组array() 函数 或者 [ ]?php $student [xiaoming, xiaolin, xixi, xiaoai]; echo $student[0]; /从左向右取最左侧索引为0 ?三流程控制语句if与if...else?php $score 75; if ($score 60) { echo 成绩及格; } ??php $score 55; if ($score 60) { echo 成绩及格; } else { echo 成绩不及格; } ??php $score 75; if ($score 90) { echo 成绩优秀; } elseif ($score 60) { echo 成绩及格; } else { echo 成绩不及格; } ?四循环语句for循环⽤于预先知道脚本需要运⾏的次数的情况当条件满足时重复执行代码块条件一直满足时陷入死循环?php $student [xiaoming, xiaolin, xixi, xiaogao]; for ($i 0; $i 3 ; $i$i1) { echo $student[$i]. ; } ?while循环将重复执⾏代码块直到指定的条件不成⽴用于不知道循环次数时。?php $count 3; $student [xiaoming, xiaolin, xixi, xiaogao]; while ($count 0) { echo $student[$count]. ; $count$count-1; } ?五类与函数class表示类可以通过属性表示多个不同类型的数据new对象?php header(Content-Type: text/html; charsetutf-8); //定义一个类类名可以自定义 class student{ //属性类中定义的变量 public $name; //public表示共开的该类的对象都可以访问 public $age; public function say() { //自定义函数 echo $this-name. 你好; } } //类的使用new一个对象 $stu1 new student(); $stu1 - name xiaoming; echo $stu1-name; $stu1 - say(); ?六魔术方法PHP魔术方法Magic Methods在PHP中具有特定的命名和功能魔术方法不需要显式调用而是由PHP解释器在特定时机自动触发。通常用两个下划线__ (两个下划线中间不加空格)后跟方法名称,如构造方法 __construct()?php class Person { public function __construct() { echo construct is coming ~; } } $p1 new Person(); //触发条件 ?七超全局变量1、什么是超全局变量全局在PHP代码的任何位置都可以直接使⽤不需要提前定义超PHP官⽅内置的变量专⻔⽤来接收⽤户传递的各种数据天⽣存在直接调⽤即可 。2、核心特点所有超全局变量都是⼤写的数组形式专⻔⽤来接收「⽤户从浏览器传递给服务器的数据」是后端接收前端参数的核⼼⽅式也是所有Web漏洞的「数据⼊⼝」。3、$_GET 超全局变量 —— 接收GET请求传递的参数$_GET 专⻔⽤来接收⽤户通过「GET请求」传递的所有数据数据来⾃于浏览器地址栏的URL中。语法 $_GET[参数名]4、$_POST 超全局变量 —— 接收POST请求传递的参数$_POST 专⻔⽤来接收⽤户通过「POST请求」传递的所有数据数据藏在请求体中URL中不可⻅。语法$_POST[参数名]5、案例#准备一个登录的页面 !DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDocument/title /head body form actionb.php methodget 姓名input typetext namenamebr 年龄input typenumber nameagebr button typesubmit提交/button /form /body /html \#准备另一个获取数据的php页面 ?php header(Content-Type: text/html; charsetutf-8); $name $_GET[name] ; $age $_GET[age] ; echo h3接收到的参数/h3; echo 姓名{$name}br; echo 年龄{$age}br; echo a hrefa.php返回填写表单/a; ?八序列化与反序列化传递多个数据可以用序列化对象序列化serialize是将⼀个 PHP 对象包括它的类名、所有属性和属性值转换为⼀个可存储、可传输的字符串的过程。反序列化unserialize是将这个字符串还原回原来的 PHP 对象。#准备一个登录的页面 !DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDocument/title /head body form actionb.php methodget 姓名input typetext namenamebr 年龄input typenumber nameagebr 密码:input typepassword namepwdbr button typesubmit提交/button /form /body /html \#准备另一个获取数据的php页面 ?php header(Content-Type: text/html; charsetutf-8); $name $_GET[name] ; $age $_GET[age] ; $pwd $_GET[pwd] ; echo h3接收到的参数/h3; echo 姓名{$name}br; echo 年龄{$age}br; echo 密码{$pwd}br; class student{ public $name; public $age; public $pwd; } $stu1 new student(); $stu1 - name $name; $stu1 - age $age; $stu1 - pwd $pwd; //对获取的进行序列化处理 echo h3序列化后的数据/h3; $serialized serialize($stu1); echo $serialized; echo h3反序列化后的数据/h3; $restored unserialize($serialized); //这里输入的是序列化得到的值 echo $restored-name ; echo br; echo $restored-age ; echo br; echo $restored-pwd ; echo br; echo a hrefa.php返回填写表单/a; ?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2423516.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!