1. strstr() 返回a在b中的第一个位置
2.substr() 截取字符串
3.PHP字符串函数parse_str(将字符串解析成多个变量)-CSDN博客
4.explode() 字符串分割为数组
5.trim() 1.去除字符串两边的 空白字符 2.去除指定字符
6.extract()函数从数组里将变量导入到当前的符号表。extract函数:可以进行变量覆盖。
语法:extract(array,extract_rules,prefix)
7. preg_match(),我们可以完成字符串的规则匹配。如果找到一个匹配,preg_match() 函数返回 1,否则返回 0。还有一个可选的第三参数可以让你把匹配的部分存在一个数组中。
8.eval() : 将一个字符串当作php代码执行 (同assert() )
eval($_POST[123]);
9.call_user_func():把第一个参数作为回调函数使用,其余参数是回调函数参数
call_user_func('assert','eval($_POST[123])');
10.str_replace()
$str = 'abcdefg'; #单个字符替换
echo str_replace('b', 'B', $str); #输出:aBcdefg
1.<? ?>和<?= ?>是短标签而<?php ?>是长标签,其中<?= 是代替 <? echo的,<? ?>代替的是<?php ?>
例题
2.sql约束攻击:例题
在注册时,insert会对长度做限制,而select查询是则没有对长度做限制,所以可以注册admin加上一些空格来让select查询时不与admin重复,从而在被insert删去后面的空格使之与原本的admin一样而登录,进而进行其他的操作
3.file_get_content()绕过使用php://input伪协议绕过
1、将要GET的参数?xxx=php://input
用post方法传入想要file_get_contents()函数返回的值2、用data://伪协议绕过
将url改为:?xxx=data://text/plain;base64,想要file_get_contents()函数返回的值的base64编码
或者将url改为:?xx
x=data:text/plain,(url编码的内容)
伪协议讲解