1. 全局变量注册
如果您还能记起早期WEB应用开发中使用C开发CGI程序的话,一定会对繁琐的表单处理深有体会。当PHP的register_globals配置选项打开时,复杂的原始表单处理不复存在,公用变量会自动建立。它让PHP编程变得容易和方便,但同时也带来了安全隐患。
事实上,register_globals是无辜的,它并不会产生漏洞,同时还要开发者犯错才行。可是,有两个主要原因导致了您必须在开发和布署应用时关闭register_globals:
第一,它会增加安全漏洞的数量;
第二,隐藏了数据的来源,与开发者需要随时跟踪数据的责任相违背。
本书中所有例子都假定register_globals已被关闭,用超级公用数组如$_GET 和 $_POST取而代之。使用这些数组几乎与register_globals开启时的编程方法同样方便,而其中的些许不便是值得的,因为它提高了程序的安全性。
小提示
如果您必须要开发一个在register_globals开启的环境中布署的应用时,很重要的一点是您必须要初始化所有变量并且把error_reporting 设为 E_ALL(或 E_ALL | E_STRICT)以对未初始化变量进行警告。当register_globals开启时,任何使用未初始化变量的行为几乎就意味着安全漏洞。
以上就是PHP安全-全局变量与注册的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!
![php中文网最新课程二维码](/static/images/article_wechat2021.jpg?1111)
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
- 上一篇:PHP安全-错误报告
- 下一篇:利用PHP抓取百度阅读的方法示例
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论