本网站所登载广告均为广告客户的个人意见及表达方式,与本站无关。另外提供网站建设等互联网技术服务,如果有需要 点击 加QQ进行联系。

PHP 选项 register_globals 对我有什么影响?

新手常见问题 格尔格西船长 1541次 0评论

首先要理解这个设置选项的作用。假如我们使用以下URL: http://www.itkuangke.com/foo.php?animal=cat,那么在 foo.php中我们可能会使用以下代码:

// 建议使用这种访问变量的方式
echo $_GET['animal'];

// 如果想直接访问$animal变量,就要把register_globals选项设置为on
// 强烈建议不要这么做!!
echo $animal;

// 这个选项的值会影响到所有变量,包括$_SERVER
// 以下是该选项设置为off时的正确写法
echo $_SERVER['PHP_SELF'];

// 同样,要使$PHP_SELF变量自动生效,register_globals选项必须设置为on
// 强烈建议不要这么做!!
echo $PHP_SELF;

上面的代码解释了register_globals的作用,就是自动生成变量。这种编程方式被很多人所不喜,所以在PHP当中register_globals默认设置为off。在PHP6,这个选项被删除了。所以目前绝大部分虚拟主机都默认把register_globals禁用。请注意,你在阅读过时的文章、教程时可能需要把该选项开启,否则可能示例代码不能通过。但在实际开发当中,强烈建议将其设置为off,否则可能会导致安全问题。

转载请注明:php嘉友站 » PHP 选项 register_globals 对我有什么影响?

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址