1、$_SERVER['SCRIPT_NAME']、$_SERVER['PHP_SELF']和$_SERVER['REQUEST_URI']区别
例子:http://localhost/phpwind75/test.php/%22%3E%3Cscript%3Ealert(’xss’)%3C/script%3E%3Cfoo
$_SERVER['SCRIPT_NAME']只获取脚本名,不获取参数,输出结果为:test.php;
$_SERVER['PHP_SELF']获取脚本名后,同时获取参数数据,并对参数数据进行一次urldecode操作,易出现跨站攻击现象,输出结果为:
"><script>alert('xss')</script><foo
$_SERVER['REQUEST_URI']获取脚本名后,同时获取参数原始数据,操作结果为:
test.php/%22%3E%3Cscript%3Ealert(’xss’)%3C/script%3E%3Cfoo
2、urldecode与rawurldecode区别
urldecode将"+"解析为" ",而rawurldecode则不解析
3、&&与||优先级问题
&&级别比||高
4、全局变量问题
如果在同一个文件内$a= $_GLOBALS[a];
在函数中如果要引用全局变量则必须:global $a;否则只是私有变量
例如:
这个结果将为空
而
这个结果将为:2,
如果使用$_GLOBALS[a]的话,则结果也为2: