PHPHypertextPreprocessor(PHP)是一种被广泛使用的开源脚本语言,也是一门令人惊叹的流行语言!PHP脚本在服务器上执行,既可以成为最大博客系统的核心(WordPress),也可以运行最大的社交网络(facebook)!同时,它简单易学易用到足以成为初学者的首选服务器端语言!通过PHP,程序员不仅可以输出HTML,还能够输出图像、PDF文件、甚至Flash影片,可以输出任何文本如XHTML和XML。 随着学习使用PHP语言编程的人越来越多,由于配置不当引发的安全问题屡见不鲜。天融信阿尔法实验室的安全专家发现,通过一系列的安全配置,可以很好地解决某些安全隐患为系统增加安全系数。不过在开发过程中,由于需求的改变和编程习惯可能需要对某些配置进行更改,这会为程序埋下安全隐患。编程者需要深入了解各个配置可能带来的安全隐患,了解漏洞的产生原理,同时知晓在打开某些配置的安全隐患之后应该如何通过其他手段应对安全问题。 1、注册全局变量带来的安全隐患register_globals是开启全局注册变量功能,为On是开启,Off是关闭。在开启后带来的安全隐患是巨大的,所以建议关闭。如果在需求上需要开启,在02里会有具体介绍该如何防御。 配置规范:register_globals要设置为off,在php4.2.0后默认为off,如果为on,需要为每个变量初始化功能描述:get,post,cookie等变量直接被注册为全局变量,比如表单的username,程序中使用$username就能获取到值,不需$_POST来获取值。 安全隐患样例: 这里如果没有通过cooke认证,那$authorized将一直为假,就无法被认证,但是如果register_globals为on,我们在url里可以修改get参数让$authorized注册为全局变量,并修改它的值为真,比如白癜风权威医院白癜风能痊愈吗
|