php学习笔记

来源:互联网 发布:淘宝网鞋子女鞋运动鞋 编辑:程序博客网 时间:2024/06/08 14:19

 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: