靶场PHP函数及漏洞防御方式
总结SQL 注入、XSS 跨站脚本攻击和文件上传中常见函数及漏洞防御SQL注入相关函数名用途使用场景mysql_connect()连接 MySQL 数据库PHP 代码中建立数据库连接DVWA、SQLi-Labs 等老靶场常见写法mysql_select_db()选择目标数据库连接后指定要操作的数据库如security、dvwa等靶场库mysql_query()执行 SQL 查询语句直接拼接用户输入执行查询是 SQL 注入漏洞的主要产生点mysql_fetch_array()从结果集获取一行数据取出查询结果并回显到页面用于 union 注入、报错注入的数据展示mysqli_connect()连接 MySQL 数据库新版扩展现代 PHP 项目推荐使用的数据库连接方式支持预处理mysqli_select_db()选择目标数据库新版扩展mysqli 扩展下切换数据库需传入连接句柄$connmysqli_query()执行 SQL 查询语句新版扩展执行普通查询若直接拼接变量仍存在注入风险mysqli_fetch_array()从结果集获取一行数据新版扩展获取查询结果用于页面展示用法与旧版类似mysqli_real_escape_string()转义 SQL 语句中的特殊字符对用户输入的单引号等特殊字符做转义字符型注入的基础防护手段XSS相关及upload相关常用函数函数作用靶场典型使用场景strtolower()字符串全部转为小写XSS Level5统一小写防止大小写绕过过滤htmlspecialchars($str, $flags, $charset)HTML 实体转义默认转义 XSS Level2/3/15前端输出编码防御 XSS 核心函数setcookie()设置 CookieXSS 靶场 Level13页面初始化 Cookiestr_replace($find, $rep, $str)全局单次字符串替换无法递归过滤XSS Level5/6/7黑名单过滤 script、on 等关键字str_ireplace()不区分大小写的字符串替换Upload-Labs 文件上传靶场清理后缀、NTFS 数据流::$DATAparse_url()解析 URL提取协议、域名、路径等URL 型 XSS校验 href 协议防御伪协议跳转in_array()判断元素是否存在于数组常用于黑白名单校验URL 协议白名单校验、文件上传后缀校验json_encode()将数据安全序列化为 JS 字符串JS 上下文场景防御 XSS优先替代直接拼接变量move_uploaded_file($tmp,$dest)将临时文件移动到目标路径所有关卡保存上传文件存在空字节截断、竞争漏洞basename()提取纯文件名清除路径../文件路径防御date()/rand()生成随机时间戳文件名随机重命名规避文件名可控风险各种漏洞的防御方式SQL 注入强制使用预处理语句Prepared Statements)(PDO 或 MySQLi)将 SQL 结构与数据分离。若无法使用预处理则使用 白名单验证 或 严格类型转换如 intval)需注意绝不直接拼接用户输入XSS跨站脚本防御1.首先输出编码 htmlspecialchars()// ENT_QUOTES 同时转义单引号、双引号最安全 htmlspecialchars($str,ENT_QUOTES,UTF-8);2.JS 上下文安全序列化json_encode()变量嵌入script标签内使用禁止直接拼接字符串3.URL 上下文校验parse_url() 协议白名单防御hrefjavascript:alert()伪协议 XSS只允许 http/https4.Cookie 安全策略设置HttpOnly禁止 JS 读取 Cookie防止 XSS 窃取会话Secure仅 HTTPS 传输 Cookie。5.CSP 内容安全策略浏览器层防御HTTP 头限制脚本来源禁止行内脚本、eval()即使存在 XSS 漏洞也难以执行6.输入过滤辅助手段不建议单独依赖黑名单过滤 script、onclick、onerror 等极易大小写 / 拼接绕过文件上传漏洞防御服务端验证多层防御文件名处理存储位置控制文件包含漏洞防御使用白名单禁用远程文件包含路径限制关闭危险伪协议输入过滤命令注入Command Injection尽量避免使用 system()、exec() 等执行系统命令的函数。若必须使用使用 escapeshellarg() 或 escapeshellcmd() 转义参数并且白名单验证输入值。

相关新闻

广告行业短视频获客实战培训:教你抓流量高效转化精准客户

广告行业短视频获客实战培训:教你抓流量高效转化精准客户

开篇2026年广告行业线下获客渠道枯竭,短视频获客成破局关键,但短视频获客培训乱象丛生,不少机构只会教剪辑搞噱头。本文结合实测经验,分享广告行业专属的培训机构挑选标准与避坑要点,帮你找到能落地的平台。一、明确自…

2026/11/5 11:07:05 阅读更多 →
2026年AI领域可贴牌OEM企业TOP10|合规靠谱厂商全维度盘点

2026年AI领域可贴牌OEM企业TOP10|合规靠谱厂商全维度盘点

想打造自有AI产品品牌却找不到靠谱贴牌方?担心踩中合规风险、隐性收费、服务断层的坑?本文梳理AI领域OEM贴牌企业的核心选型标准,盘点十家合规靠谱的厂商,帮你快速匹配适配方案,避开合作陷阱。本文数据来源于公开企业资…

2026/11/2 2:32:57 阅读更多 →
电商导购APP灰度发布方案:新功能平滑上线与用户流量切分技术

电商导购APP灰度发布方案:新功能平滑上线与用户流量切分技术

电商导购APP灰度发布方案:新功能平滑上线与用户流量切分技术 大家好,我是省赚客APP研发者微赚淘客! 在电商导购领域,每一次新功能的上线都伴随着风险。无论是全新的“智能查券”算法,还是改版后的“我的订单”页面&…

2026/11/4 23:10:47 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/5 12:28:00 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/5 1:08:50 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/5 12:28:01 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/5 12:28:02 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/6 8:08:42 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/5 19:38:59 阅读更多 →

日新闻

周新闻

月新闻