使用 $GLOBALS['HTTP_GET_VARS'] 是否已弃用?

2023-11-27

我知道使用$HTTP_GET_VARS已被弃用,但是使用怎么样$GLOBALS['HTTP_GET_VARS']?那个数组键将来有可能消失吗?

我基本上在一个需要与 CMS 集成的遗留项目中拥有以下内容,除非绝对必要,否则我真的不想更新它。

function table_manager_import_vars($var) {
   $vars = explode(",", $var);

   foreach($vars AS $var) {
       switch ($var) {
           case "G":
               $var = "HTTP_GET_VARS";
               break;
           case "P":
               $var = "HTTP_POST_VARS";
               break;
           case "C":
               $var = "HTTP_COOKIE_VARS";
               break;
           case "S":
               $var = "HTTP_SESSION_VARS";
               //session_start();
               break;
           case "E":
               $var = "HTTP_SERVER_VARS";
               break;
       }
       if (isset($GLOBALS[$var])) {
           if (is_array($GLOBALS[$var])) {
               foreach($GLOBALS[$var] AS $var1 => $value) {
                   if ($var1 != $var) {
                       $GLOBALS[$var1] = $value;
                   }
               }
           }
       }
   }
}
// called like this
table_manager_import_vars("G,P,C,S,E");

是的,你猜对了,项目的每个方面都有一个这样的函数,只是每次都有不同的名称!


你的问题:

使用 $GLOBALS['HTTP_GET_VARS'] 是否已弃用?

Answer:

是的。

http://www.php.net/manual/en/reserved.variables.get.php

该页面明确指出$HTTP_GET_VARS已被弃用,您应该使用$_GET反而。

$HTTP_GET_VARS是一样的$GLOBALS['HTTP_GET_VARS']。因此它也因此被弃用。 (请注意,在全局范围内定义的所有变量都可以使用$GLOBALS['variablename'])

顺便说一句:当涉及到使用使用的遗留代码时$HTTP_GET_VARS,我知道您说过,如果可以避免的话,您希望避免更改代码,但值得指出的是,这个时代的代码在现代 PHP 安装中运行时可能会出现大问题,正如旧版本的 PHP 所假设的那样像magic_quotes正在使用中。如果您在较新版本的 PHP 中运行相同的代码,您将不会magic_quotes,所以你应该确保数据被正确转义。

看看你那里的整个代码,看起来它正在尝试复制各个变量中的所有变量HTTP_***_VARS数组进入全局范围。这是自动完成的功能reallyPHP 的旧版本,但由于它会导致严重的安全问题而被放弃。我强烈建议删除整段代码并将所有代码转换为使用$_GET反而。你可能想要谷歌搜索register_globals了解更多关于为什么这是一件坏事的信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 $GLOBALS['HTTP_GET_VARS'] 是否已弃用? 的相关文章

  • PHP - 获取 URL 中写入的 $_GET 参数字符串的最简单方法

    我正在尝试从一个页面重定向到另一页面 同时保留参数 例如如果我有一个页面 page php param1 1 param2 2 提取 param1 1 param2 2 的最简单方法是什么 Use SERVER QUERY STRING 访
  • 错误:SQLSTATE[HY000] [2002] 无法建立连接,因为目标计算机主动拒绝连接

    当我调试代码时突然发生错误 它有一系列关于数据库连接的错误 ERROR SQLSTATE HY000 2002 No connection could be made because the target machine actively
  • 跟踪 PHP 对象属性更改

    我正在尝试跟踪对 PHP 变量所做的所有更改 该变量可以是对象或数组 例如 它看起来像 object array a b 然后使用对象缓存将该对象持久保存到存储中 当php脚本再次运行时 因此 当脚本第二次运行时 或者另一个脚本运行并修改该
  • PHP Imagick - setTextEncoding() 函数不起作用

    我正在尝试在 Imagick 对象上添加一些文本 但是我使用 setTextEncoding 函数 它仍然不起作用 draw new ImagickDraw draw gt setTextEncoding utf 8 draw gt set
  • 限制传出 PHP+curl 请求的速率

    有没有办法限制 有延迟 向外部服务器发出 PHP curl 请求的速率 以便每秒只有 n 个请求 PHP 在 Fastcgi 模式下使用 因此无法使用睡眠 是的 有curl 多重处理程序 您可以使用 OOP 方式以 OOP 方式完成此操作这
  • 如何检查文件是否为php?

    我想检查文件是否具有扩展名 php 如果有的话我会把它包括在内 有人可以帮我进行正则表达式检查吗 thanks 通常您不使用正则表达式 以下是一种流行的方法 extension pathinfo filename PATHINFO EXTE
  • 未找到“Twilio\Rest\Client”类

    我正在尝试使用 twilio php api 这是我的代码
  • 根据产品类别自定义购物车总计和结帐总计文本

    我想根据产品类别 或其他一些逻辑 自定义购物车和结帐订单汇总表中的文本 例如 对于 总计 文本 参见图片 如果购物车包含名为 杂货 的类别中的产品 那么我希望订单摘要中的文本显示为 总计估计 文本 参见图片以下 如果购物车不包含任何杂货 那
  • 如何对“2-1”这样的字符串进行数学计算以产生“1”?

    我只是想知道 PHP 是否有一个函数可以接受像这样的字符串2 1并产生它的算术结果 或者我必须手动执行此操作explode 获取算术运算符左侧和右侧的值 我知道这个问题很老了 但我昨晚在寻找不太相关的东西时遇到了它 而且这里的每个答案都很糟
  • 如何在此查询中获取以 KM 为单位的距离

    salons Salon select salons gt selectRaw 6371 acos cos radians cos radians lat cos radians lng radians sin radians sin ra
  • PHP 7 上可以指定多个返回类型吗?

    我有一些可以返回的方法两种返回类型之一 我正在使用利用 MCV 的框架 因此重构这几个函数尤其没有吸引力 是否可以声明返回类型返回其中之一而在其他情况下失败 function test if this gt condition false
  • 设置了 @version $Id$ 的 SVN Checkout

    我在 Subversion 中进行开发 在每个 PHP 文件的顶部都有以下注释块
  • 当 url 不存在时 file_get_contents

    我正在使用 file get contents 访问 URL file get contents http somenotrealurl com notrealpage 如果 URL 不真实 则返回此错误消息 如何让它优雅地出错 以便我知道
  • 在 .NET C# 项目中使用 PHP

    有谁知道是否可以 以及是否有任何复杂性 在 NET C 项目中使用 PHP 语言 我知道 VB 和 C 现在可以混合在解决方案中 所以我想知道 由于 IIS 现在能够运行 PHP 您是否可以将它们组合成一个单一的运行时 显然 提出这个问题的
  • 将文本中的 URL 替换为 HTML 链接

    不过 这是一个设计 例如 我放置了一个链接 例如 http example com http example com in textarea 我如何让 PHP 检测到它是http 链接 然后将其打印为 print a href http w
  • 在 Symfony 中重定向之前访问调试(分析器)信息

    提交表单后 我通常将用户重定向到另一个页面 表单本身除外 因此我丢失了配置文件 调试信息 如日志 我的意思是 单击 调试工具栏 后 我会获得有关重定向后请求的信息 但我确实知道 Symfony 保留有关上一页的信息 我的意思是它不会忘记它
  • Yii2 - 如何自动加载自定义类?

    我创建了以下自定义类 我想在我的 Yii2 应用程序中使用它 common components helper CustomDateTime php namespace common components helper class Cust
  • XML 和 INI 哪个更快?

    我想知道 XML 是否比 INI 更快 反之亦然 我正在开发一个包含许多文件的网站 这个问题与我的问题有关关于包含许多文件 https stackoverflow com questions 7777522 too many include
  • 在高负载站点中使用 PHP 的策略

    在你回答这个问题之前 我从未开发过任何足够流行的东西来达到高服务器负载 把我当作 叹气 一个刚刚登陆地球的外星人 尽管我了解 PHP 和一些优化技术 我正在开发一个工具PHP如果效果好的话 可以吸引相当多的用户 然而 虽然我完全有能力开发该
  • PHP 中 C# 的空合并运算符 (??)

    PHP 中是否有三元运算符或类似的操作符 of C 在 C 中是干净且简短的 但在 PHP 中你必须执行以下操作 This is absolutely okay except that REQUEST test is kind of red

随机推荐

  • Nodejs 为什么await 只限于异步函数?

    可能重复的wait 仅在 async 函数中有效 我是新来的NodeJS我发现了这个概念async await有点混乱 经过一番阅读和摸索 这是我的理解 假设我有一个函数sum像这样 function sum a b print the n
  • 复制的重复文件(Android Studio 0.4.0)[重复]

    这个问题在这里已经有答案了 在我的项目中 我使用 Apache 的 httpcore 和 httpmime 库 将 Android Studio 更新到 0 4 0 后 我在构建项目时遇到了以下问题 Duplicate files copi
  • 用于更新查找表中向量的某些值的规范 tidyverse 方法

    我经常需要根据查找表重新编码数据框列中的一些 不是全部 值 我对我所知道的解决问题的方法不满意 我希望能够在清晰 稳定 高效方式 在编写自己的函数之前 我想确保我没有复制已经存在的标准 Toy example data data frame
  • Chrome 扩展程序历史记录 API

    我正在编写一个 chrome 扩展 需要分析最近的浏览历史记录对于特定选项卡 The chrome history API允许我搜索全局历史记录中的项目 但似乎没有提供将结果本地化到特定选项卡的方法 我是否错过了什么 或者这是不可能得到的
  • 初始化后向Select2添加选项

    这似乎是一件标准的事情 但我正在努力寻找一个清晰而简单的解决方案 我希望能够向已初始化的 Select2 添加一个或多个附加选项 我正在使用旧版本的 Select2 但不确定该版本是什么 您可以像在标准中解决大多数问题一样解决涉及 Sele
  • Android:保存应用程序单例类中存储的数据的最佳方法

    保存 Android 应用程序的应用程序类 单例 中存储的数据的最佳方法是什么 我有一个安静的大应用程序 可以在活动之间共享大量数据 所以大部分都存储在Application Singleton上 一切都很好 util应用程序被操作系统在内
  • 一直向下滚动到 UITableView 的底部

    I ve a UITableView我试图将 36 行加载到其中 然后一直向下滚动到最后一个单元格 我试过这个 func reloadData chatroomTableView reloadData chatroomTableView s
  • PHP Artisan 使用 MAMP 和 Unix Socket 进行迁移

    我最初是在 Laravel 4 2 中开发我的应用程序 但后来决定将其移动到 5 0 版本 以便它涵盖 5 0 相对 4 2 的更多变化和优势 我正在尝试运行我的迁移 但是收到错误 PDOException SQLSTATE HY000 2
  • SwingWorker 中的错误处理

    我的问题是基于理论的问题 但它确实满足了我的特定需求 当您的 SwingWorker 抛出异常时 您 a 可以预见并且 b 需要恢复并继续 但您想通知用户此错误已经发生 您会怎么做 如何捕获预期的异常并通知用户而不违反 No Swing c
  • Storyboard Xcode 6 中的自适应转场是否已弃用?

    Xcode 6 interface builder by default has new checkbox use size classes It makes views adaptive When I try to make segue
  • Android 偏好设置摘要默认颜色?

    我已经在真正的手机中安装了我的应用程序 即使在模拟器中的所有文本 偏好摘要似乎是相同的颜色 在真正的手机中 颜色是不同的 某种蓝色 但我想这取决于手机的型号 如何将此颜色设置为我的自定义首选项组件 我已经实现了自己的搜索栏 其摘要文本颜色与
  • 在 git 存储库中通过相应 blob 的哈希值查找文件?

    假设我有一个文件可能已经在 git 存储库中 并且它可能驻留在多个路径名下 甚至在同一个提交中 如何查找包含 blob 的所有提交以及与该文件对应的哈希值 并列出这些提交以及每个文件所在的路径名 是否有一种按哈希查找文件的技术也可以搜索索引
  • 在 for 循环中将数据帧附加在一起

    我有一个for loop每次迭代后都会生成一个数据框 我想将所有数据框附加在一起 但发现这很困难 以下是我的 我正在尝试 请建议如何修复它 d NULL for i in 1 7 vector output model lt some pr
  • 有没有一个搜索引擎可以直接给出答案? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我一直想知道这个问题有一段时间了 我不明白为什么谷歌还没有尝试过 或者也许他们已经尝试过 但我只是不知道 有没有一个搜索引擎 您可以在其中输入一个问
  • 如何初始化常量/非常量静态引用成员?

    class Foo private int m i public Foo int i m i i class FooA private const static Foo m foo static Foo m foo2 Q1 gt 如何初始化
  • Azure 应用程序网关 V2 无法使用 NSG 配置

    我已使用 WAF V2 SKU 配置应用程序网关 然后 我将后端池配置为指向 WebApp 并添加 IP 限制以仅允许来自 WAF IP 的流量 然后 我尝试将 NSG 添加到预配的子网 以进一步限制流向前端 IP 地址的流量 我收到错误
  • 防止 C# 子类覆盖方法

    假设我有一个名为 Parent 的抽象父类 它实现了一个名为 DisplayTitle 的方法 我希望这个方法对于继承 Parent 的每个子类都是相同的 如果子类尝试实现自己的 DisplayTitle 方法 我希望出现编译错误 我怎样才
  • 根据下载的图像高度调整表格单元格高度

    我在运行时获取图像的 URL 并且想要下载这些图像并将其显示在表格中 图像将异步下载 更重要的是我想以实际尺寸显示所有这些图像 请帮助我 提前致谢 在委托方法上 您必须在完成下载后更新图像 您可以使用 tableView reloadRow
  • 通过JavaScript异步跨域POST请求?

    我可以创建一个表单并使用它向任何站点发出 POST 请求 但 FORM 方法不是异步的 我需要知道页面何时完成加载 我尝试使用内部带有表单的 iframe 来解决这个问题 但没有成功 有任何想法吗 EDIT 不幸的是我无法控制响应数据 它从
  • 使用 $GLOBALS['HTTP_GET_VARS'] 是否已弃用?

    我知道使用 HTTP GET VARS已被弃用 但是使用怎么样 GLOBALS HTTP GET VARS 那个数组键将来有可能消失吗 我基本上在一个需要与 CMS 集成的遗留项目中拥有以下内容 除非绝对必要 否则我真的不想更新它 func