xss中的函数
echo输出一个或多个字符串// 1. 输出单个echo Hello PHP;// 2. 输出多个echo Hello, , World; // 输出 Hello World// 3. 输出变量$name Alice;echo My name is $name;var_dump打印变量的详细信息类型与值$arr [name zhangsan, age 18];$bool false;var_dump($arr, $bool);include/require包含并运行指定文件// 标准用法include header.php;require config/database.php;// 带 once保证只引入一次防止函数重定义include_once lib/helper.php;require_once core/init.php;phpinfo输出关于 PHP 配置的详细信息// 输出全部信息最常用phpinfo();// 只输出模块信息更快phpinfo(模块);eval()将字符串当作PHP代码执行$code echo Hello World!;;eval($code); // 输出Hello World!// 危险场景用户传入$user_input $_GET[cmd]; // 假设用户传入: phpinfo();eval($user_input); // 直接执行 phpinfo()服务器沦陷assert()可执行任意代码// 正常用法检查布尔值assert(1 0); // 无输出通过// 高危用法字符串当作代码执行$code var_dump(123);;assert($code); // 输出: int(123)// 危险场景用户控制断言内容$_GET[flag] system(whoami);assert($_GET[flag]); // 执行系统命令preg_replace()使用/e修饰符时第二个参数会被当作代码执行// 高危写法PHP 5.6及以下有效$pattern /^(.*)$/e;$replacement strtoupper(\\1); // 这里的代码会被执行$subject hello;echo preg_replace($pattern, $replacement, $subject); // 输出: HELLO// 漏洞利用用户控制 pattern 或 replacement 即可注入代码create_function()创建匿名函数参数可被注入代码// 创建一个加法函数$func create_function($a,$b, return $a $b;);echo $func(5, 3); // 输出: 8// 漏洞利用注入代码$inject }system(id);//;$func2 create_function($a, echo $a; . $inject);// 实际生成的函数体为: function($a){ echo $a; }system(id);// }$func2(test); // 执行了 system(id)scandir()列出指定目录的文件和目录// 读取当前目录$files scandir(.);print_r($files);/* 输出示例:Array ([0] .[1] ..[2] index.php[3] config.ini) */// 读取指定路径危险场景$path $_GET[dir]; // 用户输入: ../../etc/$list scandir($path);array_filter()用回调函数过滤数组元素// 例1过滤出大于 0 的数保留原键名$arr [-1, 0, 1, 2];$filtered array_filter($arr, function($v) {return $v 0;});print_r($filtered); // [2 1, 3 2] 注意索引保留了 2 和 3// 例2不传回调去掉空值$data [a, , null, 0, b];$clean array_filter($data);print_r($clean); // [0 a, 4 b]array_map()为数组的每个元素应用回调函数// 例1将每个数字平方$nums [1, 2, 3];$result array_map(function($v) {return $v * $v;}, $nums);print_r($result); // [1, 4, 9]// 例2同时处理两个数组回调接收两个参数$arr1 [1, 2];$arr2 [10, 20];$sums array_map(function($a, $b) {return $a $b;}, $arr1, $arr2);print_r($sums); // [11, 22]array_key_exists()检查数组中是否存在某个键名$arr [name John, age null];var_dump(array_key_exists(name, $arr)); // bool(true)var_dump(array_key_exists(age, $arr)); // bool(true) 即使值是 null键依然存在var_dump(array_key_exists(gender, $arr)); // bool(false)function_exists()检查函数是否已定义bool function_exists(string $function_name)call_user_func以回调函数的形式去调用另一个你定义的函数// 1. 调用普通函数function add($a, $b) {return $a $b;}echo call_user_func(add, 5, 3);// 2. 调用类的方法class Math {public static function square($n) {return $n * $n;}public function cube($n) {return $n * $n * $n;}}// 静态方法两种写法echo call_user_func([Math, square], 3);echo call_user_func(Math::square, 3);// 非静态方法传对象实例$obj new Math();echo call_user_func([$obj, cube], 3);// 3. 调用匿名函数echo call_user_func(function($x) { return $x * 2; }, 10);

相关新闻

如何快速部署开源VR流媒体方案:完整配置指南

如何快速部署开源VR流媒体方案:完整配置指南

如何快速部署开源VR流媒体方案:完整配置指南 【免费下载链接】ALVR Stream VR games from your PC to your headset via Wi-Fi 项目地址: https://gitcode.com/gh_mirrors/al/ALVR ALVR是一个强大的开源虚拟现实流媒体工具,让你能够通过Wi-Fi将PC…

2026/10/2 0:36:42 阅读更多 →
如何判断数学建模质量好坏

如何判断数学建模质量好坏

如何判断数学建模质量好坏 一、引言 数学建模是将现实问题抽象为数学表达式并求解的过程,广泛应用于工程设计、经济管理、公共卫生、生态科学等领域。然而,“建了模"并不等于"建了好模”。一个数学模型是否优秀,不能仅凭直觉判断&a…

2026/9/29 22:44:27 阅读更多 →
Linux Optimizer深度解析:12大核心功能让你的VPS性能飙升

Linux Optimizer深度解析:12大核心功能让你的VPS性能飙升

Linux Optimizer深度解析:12大核心功能让你的VPS性能飙升 【免费下载链接】Linux-Optimizer Linux Optimizer 项目地址: https://gitcode.com/gh_mirrors/li/Linux-Optimizer Linux Optimizer是一款强大的Bash脚本工具,专为Linux服务器环境&#…

2026/10/4 18:06:31 阅读更多 →

最新新闻

PHP微信小程序美妆商城开发:框架选型与核心避坑要点

PHP微信小程序美妆商城开发:框架选型与核心避坑要点

开头 几年前我帮一个做美妆供应链的朋友搭商城,他开口第一句就是:“用ThinkPHP还是Laravel?我听别人说这俩做微信小程序商城都行。”我当时就笑了,这话只说对了一半。确实,微信小程序化妆品美妆商城这个项目&#xff0…

2026/10/7 10:24:04 阅读更多 →
SpringBoot+Vue前后端分离实战:医疗系统压缩包快速上手指南

SpringBoot+Vue前后端分离实战:医疗系统压缩包快速上手指南

简介:这是一套完整的SpringBootVue.js医疗管理系统实战项目源码,面向Java与前端初学者及全栈开发者,聚焦医院挂号、患者管理、药品库存与医生排班等核心业务场景,助力快速掌握前后端分离开发全流程。资源包共138个文件&#xff0c…

2026/10/7 10:24:04 阅读更多 →
Spring Boot+Vue+微信小程序:在线教育毕业设计实战指南

Spring Boot+Vue+微信小程序:在线教育毕业设计实战指南

做计算机毕业设计,最折磨人的往往不是敲代码本身,而是选题之后的连锁反应:技术栈能不能跑通、功能够不够演示、论文好不好写、答辩老师会不会专门挑底层原理来问。我前前后后帮人看过不少"在线教育"方向的毕设项目,最后…

2026/10/7 10:24:04 阅读更多 →
Windows上用WSL2部署OpenClaw:环境搭建与踩坑全记录

Windows上用WSL2部署OpenClaw:环境搭建与踩坑全记录

我是在一个周末的下午决定折腾 OpenClaw 的。起因很简单:最近在整理一套本地 AI 工作流,想把模型调用和各种小工具脚本收拢到一个框架里,OpenClaw 这类项目刚好对上需求。一开始我图省事,想在 Windows 上直接跑原生版,…

2026/10/7 10:24:04 阅读更多 →
Embedding向量模型选型指南:TaoToken统一API下的主流模型对比与星级推荐

Embedding向量模型选型指南:TaoToken统一API下的主流模型对比与星级推荐

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 10:24:04 阅读更多 →
SpringBoot+Vue宠物店管理系统实战:从环境配置到二次开发

SpringBoot+Vue宠物店管理系统实战:从环境配置到二次开发

每年毕业设计和课程设计的节点,都会有一批同学抱着“springbootvue宠物店管理系统(源码文档调试基础修改答疑)”这个项目来找我。压缩包解压得很顺利,一运行不是依赖缺失就是连不上数据库,文档里写了操作步骤却没说清楚…

2026/10/7 10:23:03 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 4:21:51 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:18:13 阅读更多 →