php - PHP 7.2: HTTP Form Post,用反斜杠转义单引号。Magic Quotes 在 5.x 中被删除
问题描述
有人知道我可以在哪里改变行为吗?
正如预期的那样,“魔术引号”设置没有做任何事情,因为该功能现在已经消失了。然而,有些东西试图提供帮助,我不确定是什么。
重现步骤:
- 在表单上有一个字段
- 输入带有单引号的内容,例如
"Terry's String"
- 发布表格
- $_POST['fieldname']) 现在包含输入的带有单引号的字符串,前面带有
\
类似的:Terry\'s String
在 php 配置文件中关闭魔术引号无效。
任何人都知道在哪里看或如何解决这个问题?
编辑 `var_dump($_POST['FirstName']);
returns:
字符串(15)“特里的字符串”`
var_dump($_GET['FirstName']); 返回
array(1) { ["FirstName"]=> string(8) "Terry\'s" }
当我在 GET 中传递参数时。
来自浏览器的表单帖子显示:FirstName=Terry%27s+String
解决方案
感谢所有人,尤其是@Phil,他向我指出var_dump(file_get_contents('php://input'));
即使 PHP 7.2 没有 Magic Quotes,WordPress 也有自己的 magic_quotes 实现,并且正在修改 PHP _POST 数据以提供“帮助”。
尽管我正在使用我认为是 PHP 表单发布数据的内容编写普通的 PHP 代码,但实际上我得到了一个经过清理的副本。
事实证明,WordPress 存在理智问题,即使 PHP 从语言中删除了该功能,他们也无法决定是否要打开或关闭 Magic Quotes。
推荐阅读
- odata - 将空值传递给 OData V2 Edm.Time 属性
- reactjs - 再次调用 useEffect 时如何忽略以前的异步效果?
- swift - 屏幕中的位置和滚动视图
- android - 如何在 Google Play 商店中未经测试就发布生产应用程序?
- powershell - 在 Powershell 中转换日期但格式无法识别
- asp.net - 有什么方法可以在模型中预先定义查询,只要从上下文中调用该模型就运行
- flutter - 如何注册自己的 Flutter 插件?
- linux - 配置 OpenID Connect (OIDC) 身份验证
- javascript - 如何在子进程中使用 pm2?
- node.js - 解析用户上传的 PDF,然后将 PDF 数据写入 JSON