使用 Register Globals
来源:互联网 发布:java 高并发编程 编辑:程序博客网 时间:2024/05/16 08:09
可能 PHP 中最具争议的变化就是从 PHP » 4.2.0 版开始配置文件中 PHP 指令 register_globals 的默认值从 on 改为 off 了。对此选项的依赖是如此普遍以至于很多人根本不知道它的存在而以为 PHP 本来就是这么工作的。本节会解释用这个指令如何写出不安全的代码,但要知道这个指令本身没有不安全的地方,误用才会。
当 register_globals 打开以后,各种变量都被注入代码,例如来自 HTML 表单的请求变量。再加上 PHP 在使用变量之前是无需进行初始化的,这就使得更容易写出不安全的代码。这是个很艰难的抉择,但 PHP 社区还是决定默认关闭此选项。当打开时,人们使用变量时确实不知道变量是哪里来的,只能想当然。但是 register_globals 的关闭改变了这种代码内部变量和客户端发送的变量混杂在一起的糟糕情况。下面举一个错误使用 register_globals 的例子:
- 使用 Register Globals
- $GLOBALS
- GLOBALS
- GLOBALS
- Lua1.0使用与研究- globals.lua
- 微信开发中使用$GLOBALS['HTTP_RAW_POST_DATA'],那$GLOBALS['HTTP_RAW_POST_DATA'] 和$_POST的区别是
- asp.net关于@Register使用
- asp.net关于@Register使用
- asp.net中使用@ Register
- asp.net关于@Register使用
- static const volatile register使用
- 关于register使用的对比
- register
- register
- register
- Register
- register
- register
- 常用安全测试用例
- 如何做到抓取mysql慢日志的分析工作-mysqlsla
- C++ 中指针操作符(*)重载备忘
- http协议学习系列-基础篇
- Java 中的volatile关键字
- 使用 Register Globals
- 02-VTK编译安装
- MyGUI 学习笔记(一)——MyGUI sample1——13.01.23
- android 屏幕旋转控制
- ISE Simulator (ISim) - Error "Simulator is abnormally terminated"
- 网站学习备忘010——给数据库建立一个访客
- 一些鲜为人知的但却很有趣的Unix/Linux命令(三)
- cscope使用
- 安装postgresql 出现readline错误