使用 $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'] 是否已弃用? 的相关文章

  • 递归获取数组的键并创建下划线分隔的字符串

    现在我得到了一个包含某种信息的数组 我需要从中创建一个表 例如 Student Address StreetAddress gt Some Street StreetName gt Some Name Marks1 gt 100 Marks
  • 如何使用 PHP 正确添加跨站请求伪造 (CSRF) 令牌

    我正在尝试为我网站上的表单添加一些安全性 其中一个表单使用 AJAX 另一个表单是简单的 联系我们 表单 我正在尝试添加 CSRF 令牌 我遇到的问题是令牌有时只显示在 HTML 值 中 其余时间 该值为空 这是我在 AJAX 表单上使用的
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • 简单的 PHP 条件帮助: if($Var1 = in list($List) and $Cond2) - 这可能吗?

    这是一个可能的功能吗 我需要检查一个变量是否存在于我需要检查的变量列表中 并且 cond2 是否为 true 例如 if row name 1 2 3 Cond2 doThis 它对我不起作用 我在复制粘贴中更改的只是我的列表和变量名称 i
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • Woocommerce 让产品显示在存档页面中

    我正在尝试让所有产品显示在我商店的存档页面中 我想知道他们的id我正在使用我的一个钩子 它在 wp head 上运行并检查 if is product category 我想以某种方式访问 产品的查询并获取它们的 ID if is prod
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 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