问题标签 [magic-quotes]

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 回答
185 浏览

php - 移动 TinyMCEditor 后

我将 ModX 移至新位置。ModX 内部有一个 TinyMCEditor。

移动后,如果我将 html 粘贴到其中,TinyMCEditor 会用奇怪的单词和反斜杠替换我的所有内容。

在旧 TinyMCEditor 中工作的旧内容:

粘贴后:

因此,它不仅会删除实际图像,还会将那些工作人员也扔"在那里。

更新

我已经推断出这个问题与 PHP 的 Magic Quotes 有关,如下所示:

魔术行情链接

但这是一个共享服务器,我在任何地方都看不到 PHP.ini 文件。是否仍然可以编辑此选项?

0 投票
3 回答
1833 浏览

php - 是否可以在没有 .htaccess 或 php.ini 文件的情况下关闭魔术引号?

我的一个客户在 freeservers.com 上托管他们的网站(应该不惜一切代价避免的主机)。

主机不允许 .htaccess 文件,并且服务器上没有可编辑的 php.ini 文件进行编辑。

但它确实有magic_quotes。这正在破坏我所有的 POST 请求。

我还有哪些选项可以关闭它?

0 投票
2 回答
3213 浏览

php - 将 JSON 对象转换为查询字符串,然后再转换回对象

我知道这已被问过几次,但请多多包涵。

我有一个相当复杂的谷歌地图对象(它包含各种节点、坐标等),我试图将它作为查询字符串传递。

我需要一个播放 javascript/jQuery 的解决方案。

我已经尝试过给出 jQuery 错误的 .param 方法。唯一有效的是“stringify”方法,然后创建一个字符串,当它显示为 url 时看起来有点像这样:%7B%5C"shape_1%5C"%3A%7B%5C"color%5C"%3A %5C"%237F0000%5C"%2C%5C"数据%5C"%3A%7B%5C"b%5C"%3A%5B%7B%5C"Na%5C"%3A51.56727431757122%2C%5C" OA%5C"%3A-0.10462402858888709%7D%2C....

php 将其翻译为: {\\"shape_1\\":{\\"color\\":\\"#7F0000\\",\\"data\\":{\\"b\\":[ {\\"Na\\":51.56727431757122,\\"Oa\\":-0.10462402858888709},...

但是已经说过我不想使用 PHP,我只是向您展示它的作用,以防它帮助您了解 stringify 对对象做了什么。

在我使用 Javascript 取消转义后,它看起来更正常一些,例如:

{\"shape_1\":{\"color\":\"#7F0000\",\"data\":{\"b\":[{\"Na\":51.56727431757122,\"Oa\": -0.10462402858888709},..

如您所见,未转义的序列到处都有这些斜线。当我尝试将其评估为 JSON 对象时,我得到“非法令牌 \”。parse 方法也失败了。我只是找不到任何方法将此字符串放回原来的复杂 JSON 对象中。我在网上寻找了各种建议,但都失败了。我也不明白为什么 stringify 会注入所有这些根本不应该存在的斜线。如果有人知道如何获取该对象,将其放入查询字符串中,然后将其解析回来,我将不胜感激。

缺口


更新:答案是这样的:

然后在接收端:

或全部在一行

缺口

0 投票
2 回答
1282 浏览

php - 使用 PDO 时是否必须禁用魔术引号

简单的问题,我想要简单的答案。我正在使用 PDO 准备好的语句来确保我的数据被安全地处理到数据库中。但我很困惑。如果启用了magic_quotes,我是否必须禁用魔术引号或在变量上使用stripslashes。然后让 PDO 做安全工作?

0 投票
3 回答
147 浏览

php - 转义引号遇到问题,php

我有一个 for 循环,它遍历一组问题,每个问题旁边都有一个文本区域。但是,如果问题或答案中有撇号(好像有人在问题中问“不要”或“不能”),它不会被插入到数据库中。我已经尝试了带斜杠并添加斜杠以摆脱问题,但无济于事。
这就是我到目前为止所得到的。

用于向用户显示不带斜线的问题的 for 循环。

和 POST 设置:

0 投票
0 回答
413 浏览

php - 撤消 php Magic Quotes 和 mysql_real_escape_string 组合的脚本

在过去的 4 年里,我错误地mysql_real_escape_string同时使用了魔术引号来运行一个网站。

这导致存储了各种不同格式的字符串,在大多数情况下,引号被双重转义,因此在从数据库中选择时显示不正确。

我知道这两个都打开是不正确的,并且在 php6 中删除魔术引号将尽快将其关闭。

主要问题是是否存在任何现有的脚本/函数来恢复数据库中字符串中一些错误存储的值?

然后可以循环遍历所有“文本”列并将这些出现替换为它们应该正确的内容,而无需手动遍历数千行。

我想在不久的将来会放弃对魔术引号的支持,当用户从一个切换到另一个时可能需要这样的脚本?

0 投票
1 回答
195 浏览

php - 魔术引号如何访问名称中包含“-”的数组元素?

我正在浏览一本手册,发现一条语句说“如果数组元素使用'-'作为单词分隔符,则数组的元素可以通过魔术引号访问”..但没有提供任何解释。有人可以解释这背后的原因吗?

0 投票
1 回答
2132 浏览

php - 加号在服务器端消失?

我现在无法查看 mysql 表……但我认为 '+' 不会进入表中。

我检查了一下magic_guotes,它是打开的。然而,magic_quotes 不应该对“+”号做任何事情,因为它只涉及数据库使用的字符的转义。

此外,我regular expressions在客户端和服务器(javascript 和 php)上检查了我的,没有任何东西可以删除“+”号。

我也使用htmlentites(),但我不相信 + 是一个 html 实体,即使它是这样,也只能使它成为一个实体而不是一个字符。

这离开json_encode了,但我能够在编码之前将字符回显给客户端,并且仍然可以看到没有“+”号。

我已经检查了所有 5 个地方,但无法确定 + 号的去向……似乎 mysql 数据库正在返回 + 号应该在的位置。

阿贾克斯序列化

阿贾克斯推文

0 投票
1 回答
53 浏览

php - 打开magic_quotes_qpc时,是否可以制作一个存储PHP代码的便携式密码?

我正在开发我的第一个网站。我的共享主机提供商启用了magic_quotes_qpc,并且不想更改它。据我了解,密码存储存在以下问题: 1. 用户在注册表单中输入“strong'password”之类的值。2. PHP 将值“strong/'password”写入数据库(或基于它的哈希)。3. 用户想登录时,输入“strong'password”作为密码。4. php把它变成"strong/'password"——和DB里的值一样,所以用户输入成功。

它会正常工作,直到我将托管服务提供商更改为另一个,而无需打开 magic_quotes_qpc。所有此类帐户都将被破坏。使用stripslashes 将使“强/密码”不稳定。似乎我需要禁止在密码中使用单引号和双引号。

我得到魔术引号算法了吗?如果是的话,对这个问题有什么想法吗?

0 投票
3 回答
126 浏览

php - magic_quotes off - 代码可以中断吗?

如果我在没有编写代码的环境中关闭了magic_quotes,如何检查是否会出现问题?我要检查什么?哪些功能可能不再起作用?