问题标签 [register-globals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
114 浏览

php - session fixation, still an issue with register_globals off?

I've been reading into some articles about PHP security, and I came across this article:
http://shiflett.org/articles/session-fixation

This article describes that one can easily fixate a session by passing the PHPSESSID variable in a url request (for example ?PHPSESSID=1234). However, it is my understanding (and please correct me if I am wrong) that PHP treats $_GET, $_SESSION and $GLOBALS as different types of variables when register_globals is set to off in php.ini, and therefor using ?PHPSESSID=1234 in a url request should not produce this problem.

I have tested the following script:

But I can't seem to reproduce the fixation of sessions on my server, and I assumed it is because I have register_globals set to off in my php.ini.
Am I wrong about this?
It seems important to know for sure.

0 投票
1 回答
177 浏览

x-cart - $REQUEST_METHOD 在 xcart 中不起作用

我在 xCart 网站上工作。我被要求解决忘记密码表单的问题。提交表单后,有一个逻辑来检查表单是否使用 POST 方法提交。

但是这个条件并不总是满足,所以使用的人无法获得新的密码。

当我显示 $REQUEST_METHOD 时,它给出了 GET。我想,这是默认的。但是当我检查表单时,有一个方法 POST。

我是否需要通过 php.ini 启用/禁用全局注册?

或者需要在 xCart 配置中进行任何操作以使其正常工作?

请帮助我,您的帮助将不胜感激!

问候,蒂鲁!

0 投票
3 回答
4955 浏览

php - 警告:未知:您的脚本可能依赖于在 PHP 4.2.3 之前存在的会话副作用

我在此站点的快捷链接中遇到问题:http: //smileshort.com/short-anonymous-links-api.html

使用api:http ://smileshort.com/api.php?key=534287562&url=google.com

告诉我这个问题

当我使用这个功能

0 投票
4 回答
42218 浏览

php - 如何在 PHP 5.4 或更新版本中模拟 register_globals?

我正在研究一个使用register_globals. 我的本地 php 版本是 5.4。

我知道register_globals自 PHP 5.3.0 以来已弃用并在 PHP 5.4 中删除,但我必须使此代码在 PHP 5.4 上工作。

有什么方法可以模拟较新版本的 PHP 的功能?

0 投票
1 回答
708 浏览

get - PHP $_GET['X'] 默认为 $X

我一直在自己学习 PHP,并且我使用了一个 Web 主机帐户来测试我的脚本,默认情况下它们在其中启用了 register_globals。我知道这不安全,但在测试示例代码时我没有打扰。

现在,我正在为我所属的一个非营利组织开发一个小型实时站点,他们使用的主机默认情况下关闭了 register_globals,这是应该的。

所以,现在我的问题。我已经习惯了这种工作方式(使用 register_globals ):

假设我们正在加载 index.php?pID=1。index.php 的代码将包含这一行:

请注意,我使用了 $pID 而不是 $_GET['pID'] 并且我没有在代码中的任何地方将 $_GET['pID'] 分配给 $pID。无论如何,这工作得很好。所以(当然)我想知道当我在我的 orgs 主机上使用相同的代码时,这是否是因为 register_globals 关闭而突然不起作用?

如果是这样,是否有一种解决方法可以再次使超全局变量变得神奇,或者我是否必须手动将所有 $_GET 变量分配给我自己的全局变量?

0 投票
1 回答
54 浏览

php - php已升级,所有链接都显示索引页面,但链接标题显示正确格式

我正在尝试调试一个较旧的 php 站点(大约 4-5 年前),并且最近在服务器上升级了 php。

我以前见过这个问题,但我不记得我是如何解决的。

基本上主页显示得非常好,但没有一个页面链接正常工作或指向正确的页面。例如:

.../index.php?page=latestadditions

.../index.php?page=usercat&catid=32

所有链接都保留主页内容,但浏览器 URL 路径显示正确的链接名称。

正如您可能知道的那样,有一些 MySQL 查询正在解析 URL 以指示应显示哪个页面。

我已经检查了页面请求的服务器错误日志,并且没有输出错误。我还有一个功能:

但是没有输出到 dberrors.txt..

我知道数据库连接正在工作,因为记录数被拉到我的类别中,并且没有抛出 MySQL 错误。我也在检查

出于某种原因,我认为这与文件夹权限问题有关,但我可能会离题。

感谢您可以通过这种方式提出的任何提示。

干杯

0 投票
2 回答
79 浏览

php - register_globals 仍然有效,为什么?

在我的php.ini我有register_globals=Off

但如果我访问

然后abc=19使用 显示 的值echo $_REQUEST['abc']
问题是为什么我仍然可以访问abc变量的值?

Note: I am using XAMPP.

0 投票
2 回答
158 浏览

php - 自 php 5.4 起链接不起作用

这可能是 register_globals = on issue 或 url rewriting 问题。我通过使用基本的 php 链接语法消除了 url 重写的可能性。我尝试了几个补丁来模拟 register_globals 开启但无济于事。直到上周更新 php.ini 文件时,该站点一直正常运行。它是一个带有 php 5.4.23 的 Apache 服务器。基本上我有一个目录页面,它显示从 mysql 数据库调用的作品列表。当用户单击链接时,它会将用户带到相应的项目页面。目录列表显示正确,但链接不再起作用,也没有显示错误。它总是链接到 mysql 请求的第一项,而不是请求的链接,即使显示的 url 是正确的。下面是连接数据库的代码:

这是catalog.php文件的一部分,除了链接之外,它可以正常工作

我一直看不出有什么问题。这段代码已经运行了几年,在阅读了 php 5.3 和 5.4 之间的差异之后,我没有看到任何已弃用的代码,但我知道 register_globals 已启用。

0 投票
2 回答
9498 浏览

php - register_globals 利用会话数组

我有一个 PHP 脚本,它执行一些命令来验证用户是否已登录。

如果在 my 中将 register_globals 设置为 1 php.ini,并且想要在 URL 中注入一些内容以每次都进行身份验证,那么无论密码是什么,我该怎么办?

我已经尝试过:

  • site.com/page.php?password=pass&logged=1
  • site.com/page.php?password=pass&_SESSION["logged"]=array("1")
  • site.com/page.php?password=pass&hidden_password=pass==> 返回“你没有登录”,但问题是我不想覆盖 Hidden_​​Password(我需要它!)
  • 我也尝试使用 cookie 和其他 http 标头,但没有结果

有什么提示吗?

0 投票
2 回答
91 浏览

php - PHP $_SESSION 覆盖的变量未传递到下一页

问题:在下面的代码中,当我从页面从 sandbox1 移动到 sandbox2 时,$_SESSION[page_name] 的新值没有被传递并恢复为 index 的初始值。如果进入页面后我重新加载页面,新值似乎神奇地出现了。代码有问题吗?你能解释一下为什么 $_SESSION 的新值没有传播吗?

页面索引.php

页面 sandbox1.php

页面 sandbox2.php

在加载 index.php 时,它输出:

本页:索引

正如预期的那样。

从 index.php 到 Sandbox1 输出的超链接

从页面:索引

本页:沙盒1

(新值$_SESSION['page'])如预期的那样。

从 Sandbox1 到 Sandbox2 输出的超链接:

从页面:索引

$_SESSION恢复为价值指数)预计会看到

从页面:sandbox1

本页:沙盒2

(新值)符合预期。

附加信息 PHP 5.3 版。寄存器全局设置为“OFF”