1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP安全编程之php.ini配置 - pushStack

作者:用户 来源:互联网 时间:2017-12-01 20:04:33

编程安全配置

PHP安全编程之php.ini配置 - pushStack - 摘要: 本文讲的是PHP安全编程之php.ini配置 - pushStack, 1.register_globals=On <?php//ex1.php  if(check_admin())  {  $is_admin=true;  }  if($is_admin)  {  do_something();  }

1.register_globals=On

<?php//ex1.php 

if(check_admin()) 

$is_admin=true; 

if($is_admin) 

do_something(); 

?> 

这一段代码没有将$is_admin事先初始化为Flase,如果register_globals为On,那么我们直接提交http://www.sectop.com/ex1.php?is_admin=true,就可以绕过check_admin()的验证

当register_globals=On时,我们提交http://www.sectop.com/ex2.php?_SESSION[username]=admin

2.magic_quotes

用来让php程序的输入信息自动转义,所有的单引号(“'”),双引号(“"”),反斜杠(“/”)和空字符(NULL),都自动被加上反斜杠进行转义magic_quotes_gpc=On用来设置magicquotes为On,它会影响HTTP请求的数据(GET、POST、Cookies)程序员也可以使用addslashes来转义提交的HTTP 请求数据,或者用stripslashes 来删除转义。

magic_quotes_gpc = On

对post、get请求、cookie的参数加转义

addslashes($name) 函数添加的反斜杠,stripslashes($name)删除反斜杠

http://www.test.com/index.php?is_admin=true&name="/sas"

得到$name = '/"//sas/"';

$name = stripslashes($name); $name = '"/sas"';

3.safe_mode

安全模式,PHP用来限制文档的存取、限制环境变量的存取,控制外部程序的执行。启用

安全模式必须设置php.ini中的safe_mode=On

a、限制文件存取

safe_mode_include_dir="/path1:/path2:/path3"

不同的文件夹用冒号隔开

b、限制环境变量的存取

safe_mode_allowed_env_vars=string

指定PHP程序可以改变的环境变量的前缀,如:safe_mode_allowed_env_vars=PHP_ ,当这个选项的值为空时,那么php可以改变任何环境变量

safe_mode_protected_env_vars=string用来指定php程序不可改变的环境变量的前缀。

c、限制外部程序的执行

safe_mode_exec_dir=string

此选项指定的文件夹路径影响system、exec、popen、passthru,不影响shell_exec和“``”。

disable_functions=string

不同的函数名称用逗号隔开,此选项不受安全模式影响。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索编程 , 安全 配置 ,以便于您获取更多的相关知识。