为什么 PHP 中的 _GET 会错误地解码斜杠?

2024-03-21

今天我遇到了 PHP 的一些奇怪问题,我在文档中找不到正确的解释。考虑以下代码:

<?php
echo $_GET['t']. PHP_EOL;
?>

代码很简单 - 它在 url 上采用单个 t 参数并将其输出回来。因此,如果您使用 test.php?t=%5Ca (%5c 是“\”)调用它,我希望看到:

\a

然而,这就是我得到的:

$ curl http://localhost/~boaz/test.php?t=%5Ca
\\a

注意双斜杠。谁能解释一下发生了什么,并给出检索 URL 上提供的字符串的方法?

谢谢, 波阿斯

附言。我正在使用 PHP 5.2.11


发生这种情况是因为您打开了 php.ini 中的“魔术引号”开关。从手册中:

打开时,所有 '(单引号), " (双引号)、\(反斜杠)和 NULL 字符用 a 转义 自动反斜杠。这是 与addslashes() 的作用相同。

在这里阅读更多相关信息:http://php.net/manual/en/security.magicquotes.php http://php.net/manual/en/security.magicquotes.php

要使您的脚本了解 php.ini 中“magic_quotes_gpc”设置的任何值,您可以像这样编写脚本:

$d = $_GET["d"];
if (get_magic_quotes_gpc()) $d = stripslashes($d);
echo $d; //but now you are kind of vulnerable to SQL injections
         //if you don't properly escape this value in SQL queries.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 PHP 中的 _GET 会错误地解码斜杠? 的相关文章

  • 在 ruby​​ 中使用 Blowfish 加密字符串返回的字符串比 php 中的相同过程要短

    这让我很困惑 当我尝试使用以下输入用 Blowfish 加密字符串时 key 某个键 输入 输入字符串 我得到以下结果 ruby 79af8c8ee9220bde php 79af8c8ee9220bdec2d1c9cfca7b13c6 我
  • WordPress 安装中发现的恶意 PHP 代码有什么作用?

    我能够解码在一些 WordPress 文件中找到的以下 PHP 脚本 只是出于好奇 有人可以告诉我这段代码实际上是做什么的吗 看起来它已经以某种方式复制到同一服务器上的其他 WordPress 安装中
  • 使用php在html页面中显示bbcode

    我已经有一个 bbcode 字符串 mybbcode b Hello word b 使用 php 我想在 html 页面中以 html 格式显示它 例如 div gt b hello word b div 基本上其他人已经对你说过了 但是如
  • Zend 如何使用 mod_rewrite 解析前端控制器中的 URL?

    我不明白 Zend Framework 如何控制路由 我实际上正在尝试创建自己的控制器 路由类 编写了与 Zend 建议的 htaccess 相同的代码 以重写位于网站根目录的index php RewriteEngine On Rewri
  • 如何使用 php imap 将邮件消息移动到文件夹

    我似乎无法将邮件移至已保存的文件夹 这是我的代码 mbox imap open mail server mail port mail folder mail username mail password or die Error openi
  • 知道何时调用 persist

    我正在使用 Doctrine 2 作为我的 ORM 一切进展顺利 但我一直想知道EntityManager persist 方法 这 持久实体 https www doctrine project org projects doctrine
  • 从目录中读取所有文件内容 - php

    这实际上是一个简单的任务 我想显示指定文件夹中所有文件的内容 我正在传递目录名称 echo a href row qname a 在第二页上 我正在迭代目录内容 while entryname readdir myDirectory if
  • $_REQUEST、$_GET、$_POST 哪一个最快?

    这些代码中哪一个会更快 temp REQUEST s or if isset GET s temp GET s else temp POST s REQUEST http php net manual en reserved variabl
  • php递归合并

    我需要以某种不同的方式合并一些数组 我使用 array merge recursive 然而 有一些事情我需要改变 但我不知道如何改变 这是来自 php net 的引用 但是 如果数组具有相同的数字键 则后面的值 不会覆盖原始值 但会追加
  • 如何在 PHP 中运行 shell 脚本?

    我正在尝试使用 PHP 触发 shell 脚本的运行 本质上 当用户在我们用 PHP 编写的网站上完成一个操作时 我们希望触发一个 shell 脚本 该脚本本身调用一个 Java 文件 提前致谢 See shell exec http ph
  • filter_input() 何时删除 POST 变量的斜杠?

    我创建了一个小型 PHP 脚本 它在 PHP 5 2 17 的服务器上运行magic quotes gpc指令已启用 我没有对 php ini 文件的写访问权限 并且我想从用户输入中删除所有斜杠 即使magic quotes gpc指令被关
  • 维护 HttpUrlConnection 调用之间的会话(Native/Webview)

    让我从我做的开始desire 我想制作一个应用程序part native and part webviews Problem 维护本机和 webview 部分之间的会话 My 处理方法 this 我打算实现一个本机登录 其中我向用户展示两个
  • 如何在 WordPress/WooCommerce 3+ 中向评论表单添加自定义字段

    我正在尝试在产品评论中添加 电话 字段 WooCommerce 3 针对未注册用户 来宾 电话号码只能由管理员在管理面板中看到 电话字段需要填写 Required 我尝试了这段代码 但这不起作用 function true phone nu
  • MySQL 中布尔值的 TINYINT 与 ENUM(0, 1)

    MyISAM 表和 MySQL 5 1 中具有 0 和 1 值的 Tinyint 或 ENUM 0 1 哪个更好 您可以使用BIT 1 如中提到的MySQL 5 1 参考 http dev mysql com doc refman 5 1
  • PHP:展平数组-最快的方法? [复制]

    这个问题在这里已经有答案了 是否有任何快速方法可以在不运行 foreach 循环的情况下展平数组并选择子键 在本例中为 键 和 值 或者 foreach 始终是最快的方法 Array 0 gt Array key gt string val
  • PHP函数返回值到html标签

    我想获取函数的返回值并将其显示到特定的id 在我的 Class php 中 我有一个名为 login 的函数 用于验证密码是否正确 不正确
  • 如何使用xquery查找节点并向其添加子节点?

    是否可以使用xpath xquery查询特定的xml节点 然后向其导入 添加子节点 示例 代码取自http codepad org gJ1Y2LjM http codepad org gJ1Y2LjM 这是在类似的问题中提出的 但不相同 1
  • 使用 html5 分块上传文件

    我正在尝试使用 html5 的文件 API 分块上传文件 然后在服务器端用 php 重新组装它 我正在上传视频 但是当我在服务器端合并文件时 大小增加了 并且它变成了无效文件 请注意 以下 html5 代码仅适用于 chrome 浏览器 在
  • PHP 相当于朋友或内部

    php 中是否有相当于 朋友 或 内部 的东西 如果没有 是否有任何模式可以遵循来实现这种行为 Edit 抱歉 但标准 Php 不是我想要的 我正在寻找类似于马戏团长所做的事情 我有一些类在后端进行 C 风格的系统调用 并且杂耍已经开始变得
  • PHP 中的坏词过滤器?

    我正在用 PHP 编写一个坏词过滤器 我在数组中有一个坏词列表 方法 clean text 的写法如下 public static function cleanse text originalstring if self is sorted

随机推荐

  • p2p0是android中WIFI DIRECT的无线接口吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我打印 Android 设备中的所有接口时 03 10 19 50 15 484 I System out 22415 lo 03 10
  • PyQt 4 UI 冻结

    下面的程序应该只是累加和 int 并在标签中显示其值 但过了一会儿 GUI 停止工作 而循环继续 from PyQt4 import QtGui QtCore import sys class main window QtGui QWidg
  • JavaScript 中的“可绑定”变量?

    从我对 Flex 的一点经验中 我了解了可绑定变量 例如 文本元素的内容会随着变量的值而变化 我想知道是否可以在 JavaScript 中做这样的事情 例如 假设我有一个 h1 我想包含文档的标题 这可以很容易地完成document get
  • “equal”模板功能是如何实现的? (谓词版本)

    我正在阅读 Accelerated C 一书 其中一个练习要求我们模拟标题中的 equal 函数 到目前为止 我已经实现了简单的版本 它采用三个参数 如下所示 template
  • 禁用适用于平板电脑和 iPad 的 Magento 移动主题

    我制作了一个包含桌面和移动主题的网站 它工作得很好 但在平板电脑和 iPad 中它显示了我不想要的移动主题 所以我使用以下异常 iPhone iPod BlackBerry Pre Palm Googlebot Mobile mobi Sa
  • 不同 django 模型的公共字段集中在一处

    我有一些在多个模型中重复的列 有什么解决方案可以将它们放置在某个地方并使用任何模型吗 您可以通过创建基类并在模型中继承它们来实现这一点 Example class TimestampsModel models Model classmeth
  • Java Swing 在 Eclipse Oxy 4.7.3a 上运行?

    我正在尝试在 macOS high Sierra 上的 eclipseoxygen 4 7 3a 中使用 windowbuilder 它安装得很好 但每次我尝试打开设计部分时 它都会显示此错误 Eclipse 在 0 下运行 但是这个 Ja
  • 在 select2 上设置标签值

    我的页面上有选择字段
  • 从数据库中删除文件和相应条目

    我有一个处理文件管理的网站 用户可以上传文件 添加描述 编辑和删除 这种情况的最佳实践是什么 我将文件存储在文件系统中 我该如何处理文件的删除 在这种情况下 我必须删除实体 数据库中的文件和条目 第一种情况是我删除文件 如果没有错误 我从数
  • 从 Tokio 应用程序使用 Actix:混合 actix_web::main 和 tokio::main?

    目前我主要写的是异步示例Reqwest library https crates io crates reqwest tokio main async fn main gt Result lt Box
  • Caliburn.Micro DisplayRootViewFor 抛出 NullReferenceException

    我的引导程序中有以下代码 private SimpleContainer container protected override void Configure container new SimpleContainer container
  • 从方法返回元组

    我正在编写一个方法 成功时返回一个元组 但是None失败时 我还没有最终确定None 作为失败案例返回 但它是选择之一 我们可以回来吗 1 1对于失败案例 我正在寻找最好的Pythonic方法来实现这一点 以便拆包很容易 请让我知道我们如何
  • 如何添加链接来下载pdf文件nuxt?

    我只想在 nuxt 项目中添加一个下载 pdf 文件的链接 我怎么做 我已经尝试过以下方法 a class btn btn sm btn sub color Download a 它适用于图像 但不适用于 pdf 文件 我发现vue pdf
  • 如何使用 Maven 构建可运行的 JavaFX 应用程序?

    我是 JavaFX 新手 我使用 Maven 创建了一个 Hello World 项目 当我在 Eclipse 中运行它时 它工作得很好 public static void main String args launch args Ove
  • 将类元素更改为界面元素

    当对类图进行建模时 工具箱包含类和接口的特殊对象 它们的不同之处在于它们的图标 这些图标显示在Project Browser如果它们被添加到图表中 它们的属性似乎是相同的 是否可以更改创建为的对象class到一个类型的对象interface
  • 如何在测试已弃用的 Scala 函数时抑制弃用警告?

    假设我有一个库 其中包含已弃用的函数和首选函数 object MyLib def preferredFunction deprecated Use preferredFunction instead 1 0 def deprecatedFu
  • Matlab:如何导出voronoi图中多边形的顶点(坐标)?

    我手头有一个创建的函数文件 它是在图像中画线 img drawline point1 point2 color img 它用于连接图像内的任意两点 我被要求在图像中创建 voronoi 图 不使用绘图功能 目前 我正在尝试显示图像中的线条
  • 解密xml文档时出现问题

    我编写了一些代码来加密包含用户凭据的 XML 配置文件 以及解密该文件的代码 当我在本地计算机上同时运行加密和解密时 它按预期工作 但是 当我部署程序时 仅使用解密代码 xml 文件将无法解密 我收到加密异常 错误数据 这是我的代码 pub
  • FutureWarning:不推荐使用非元组序列进行多维索引,使用“arr[tuple(seq)]”

    我搜索过 S O 但找不到答案 当我尝试使用 seaborn 绘制分布图时 我收到了未来警告 我想知道这里可能出了什么问题 import pandas as pd import numpy as np import seaborn as s
  • 为什么 PHP 中的 _GET 会错误地解码斜杠?

    今天我遇到了 PHP 的一些奇怪问题 我在文档中找不到正确的解释 考虑以下代码 代码很简单 它在 url 上采用单个 t 参数并将其输出回来 因此 如果您使用 test php t 5Ca 5c 是 调用它 我希望看到 a 然而 这就是我得