PHP
函数集锦
双引号解析为变量,单引号解析为字符
一个数组里面的类型可以不同
urldecode
对字符串进行url解码
urlencode
对字符串进行url加密
phps
该文件即为php的源代码文件
echo:输出
array:创建数组
in_array:检查是否存在某个函数
isset:检查变量是否设置
str_replace(被替换对象;替换内容;处理的数组)
highlight_file(FILE)高亮显示代码
system(及同类型函数)执行系统命令
eval函数是将括号内解析为php代码
*可代替任意长度的字符
?代替一个//通配符
插入'‘或””绕过
PHP_EOL
换行
foreach循环
eval()
获取返回值,代码动态执行,里面可以直接是一个语句,加‘ ; ‘传入字符串后面必须加 分号;
$
表示一个名为str的普通变量,它可以存储字符串、整数、数组、布尔等任何类型的值
$$
表示一个可变变量(也可叫做引用变量),用于存储str的值。
变量覆盖
可变变量:指一个变量的变量名可以动态的设置和使用,利用一个普通的变量通过声明来设置。($this变量也是一个特殊变量,不能被动态引用)使用时注意引用变量的作用域和生存期
1 | <?php |
举个栗子

preg_match
被搜索的结果填充,进行正则表达式匹配。并且只匹配一次
检查为数组时会报错,某些特殊情况可以利用数组绕过
preg_match_all
是用来获取指定数据内容
正则表达式:一串符号总结的规律
intval函数
intval函数当传入的变量也是数组的时候,会返回1
isset
is_numeric
函数用于检测变量是否为数字或者数字字符串。若是则为true,否则为false
布尔类型
值为true 或false
被认为是false的一些
- 布尔值 FALSE 自身
- 整型值 0 (零)
- 浮点型值 0.0 (零) 空 字符串, 以及 字符串 “0”
- 不包括任何元素的数组
- 不包括任何成员变量的对象(仅PHP 4.0 适用)
- 特殊类型 NULL (包括尚未设定的变量)
- 从没有任何标记(tags)的XML文档生成的SimpleXML 对象
非法字符
参数$后面跟数字字母下划线,第一个非法字符会被转化为下划线_,之后就不会了,第一个串左括号
intval绕过
获取整数值,base=0自动检测格式决定进制,然后会自动进行进制转换
- 数组绕过
- 进制绕过 0x或0X开头使用十六进制,0开头使用八进制,否则使用十进制 数值进行进制转换后,需要在前面加上0,或者0x以识别进制
- intval()函数如果$base为0则$var中存在字母的话遇到字母就停止读取 但是e这个字母比较特殊,可以在PHP中不是科学计数法。
- 如果进制开头的字母或者0被禁止了,可以数字后面加小数点绕过例:num=4476.0
- 进制0前面加[+]绕过,或者%2b
extract
从数组将变量导入当前符号表
即键值对的键当作变量名,值当作变量值

正则表达式
-m多行匹配 换行符%0a
-i忽略大小写
-s单行匹配
[\d]表示可以匹配任意一个数字,相当于【[0-9]】。
[\s]表示可以匹配任意一个空白字符,就比如说:换页符、换行符、回车和制表符等
[\w]表示可以匹配任意一个数字、字母(包括大小写)和下划线。
[.]表示可以匹配除换行符以外任意一个字符。
将【.】替换【.】,这样就可以匹配小数点了。
JSFuck编码
http://www.hiencode.com/jsfuck.html在线界面网址
特征:[] + ! ()
php特性
在8的版本内,可以用[来代替下划线
“+”,”.”,”[“,”空格”
部署中文乱码
php文件里面加上
1 | header("Content-type:text/html;charset=utf-8"); |
来源: https://www.yuque.com/guansuanbangzhuangganjun/oxmbxg/enrsn46kw65yea42
语雀文档ID: 111218188