代码审计

本文最后更新于 2026年2月7日 晚上

代码审计

一、基础知识

in_array(a,b,c)

功能:检查数组中是否存在某个值

定义:在b数组中搜索a,当c为true时,该函数会进行强检查,不止检查值,还会检查类型,找到则返回true,没有则返回false

htmlspecialchars(a,b,c,d)

定义:a代码要实体化的字符串,b是引号转义规则,c是字符编码,d是是否禁止重复转义

功能:把特殊字符转换为html实体

1
2
3
4
5
& (& 符号)  ===============  &
" (双引号) =============== "
' (单引号) =============== '
< (小于号) =============== &lt;
> (大于号) =============== &gt;
filter_var(a,b,c)

功能:使用特定的过滤器过滤一个变量

定义:a代表过滤的变量,b代码选择的过滤器,c代表补充过滤器

其过滤器基本对xss漏洞的字符无效,常见的非法字符包括

1
2
3
4
5
6
7
通用标准层面的典型非法字符(举例)
所有未纳入上述两类的字符,比如:
空白字符:空格制表符 \t
HTML 特殊字符:<、>、&、"、'
控制字符:\n\r、%00(空字符)
多字节字符:未编码的中文、日文等非 ASCII 字符
特殊符号:!、*、(、)、{}、`、^ 等(RFC 3986 未将其纳入合法列表)
class_exists(a,b)

功能:检查类是否已定义

定义:a代表要检查的类名,大小写不敏感,默认情况为true,会自动加载_autoload函数

SimpleXMLElement类

功能:用来表示XML文档中的元素,为php的内置类

ReflectionClass($string)反射类

功能:用于根据名字获取类的信息,进行动态灵活创建实体类

1
2
3
$string=xss
$a=new \ReflectionClass($string)
$s=new $a['abc'] <===>new xss('abc')

代码审计
http://example.com/2026/02/03/代码审计/
作者
清风
发布于
2026年2月3日
许可协议