学习笔记10.18-10.22

php:
1.extract()
将数组键名做变量名,数组键值做变量值,针对每个元素在当前符号表创建一个对应的变量
第一个参数为array,第二个参数为type,表示发生变量名冲突时的解决办法

2.===
表示全等于,变量值和类型完全一致
==
表示两个数的值一样,弱比较,100==‘100’因为值一样都是100,所以为true

3.sha1()函数,计算SHA-1散列

4.strcmp函数,比较两个字符串是否相等,如果strcmp(a,b)>0,则a>b
反之则a 如果函数参数传递出错,则同样返回0

5.md5相等
可以利用md5无法处理数组的特性,构造两个数组参数,经过md5()函数的运算,会返回null,即相等

6.stripos() 查找字符串第一次出现的位置(区分大小写)
echo stripos("you love php,i love php too!","php");
?>
7.strripos()查找字符串在另一个字符串中最后一次出现的位置(不区分大小写)
8.strrpos() 查找字符串在另一个字符串最后一次出现的位置(区分大小写)

9.如果$id,想要满足非空非零且弱等于整型数0,则$id的值只能为非空非零字符串,$id="asd"

10.
eregi() 截断漏洞
 
ereg() 函数或 eregi() 函数存在空字符截断漏洞,即参数中的正则表达式或待匹配字符串遇到空字符则截断丢弃后面的数据.

int eregi(string pattern,string string,[array regs])
eregi()函数在一个字符串搜索指定的模式的字符串。搜索不区分大小写。Eregi()可以特别有用的检查有效性字符串,如密码。 
可选的输入参数规则包含一个数组的所有匹配表达式,他们被正则表达式的括号分组。

你可能感兴趣的:(ctf)