问题标签 [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.
php - 移动 TinyMCEditor 后
我将 ModX 移至新位置。ModX 内部有一个 TinyMCEditor。
移动后,如果我将 html 粘贴到其中,TinyMCEditor 会用奇怪的单词和反斜杠替换我的所有内容。
在旧 TinyMCEditor 中工作的旧内容:
粘贴后:
因此,它不仅会删除实际图像,还会将那些工作人员也扔"
在那里。
更新
我已经推断出这个问题与 PHP 的 Magic Quotes 有关,如下所示:
但这是一个共享服务器,我在任何地方都看不到 PHP.ini 文件。是否仍然可以编辑此选项?
php - 是否可以在没有 .htaccess 或 php.ini 文件的情况下关闭魔术引号?
我的一个客户在 freeservers.com 上托管他们的网站(应该不惜一切代价避免的主机)。
主机不允许 .htaccess 文件,并且服务器上没有可编辑的 php.ini 文件进行编辑。
但它确实有magic_quotes。这正在破坏我所有的 POST 请求。
我还有哪些选项可以关闭它?
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 会注入所有这些根本不应该存在的斜线。如果有人知道如何获取该对象,将其放入查询字符串中,然后将其解析回来,我将不胜感激。
缺口
更新:答案是这样的:
然后在接收端:
或全部在一行
缺口
php - 使用 PDO 时是否必须禁用魔术引号
简单的问题,我想要简单的答案。我正在使用 PDO 准备好的语句来确保我的数据被安全地处理到数据库中。但我很困惑。如果启用了magic_quotes,我是否必须禁用魔术引号或在变量上使用stripslashes。然后让 PDO 做安全工作?
php - 转义引号遇到问题,php
我有一个 for 循环,它遍历一组问题,每个问题旁边都有一个文本区域。但是,如果问题或答案中有撇号(好像有人在问题中问“不要”或“不能”),它不会被插入到数据库中。我已经尝试了带斜杠并添加斜杠以摆脱问题,但无济于事。
这就是我到目前为止所得到的。
用于向用户显示不带斜线的问题的 for 循环。
和 POST 设置:
php - 撤消 php Magic Quotes 和 mysql_real_escape_string 组合的脚本
在过去的 4 年里,我错误地mysql_real_escape_string
同时使用了魔术引号来运行一个网站。
这导致存储了各种不同格式的字符串,在大多数情况下,引号被双重转义,因此在从数据库中选择时显示不正确。
我知道这两个都打开是不正确的,并且在 php6 中删除魔术引号将尽快将其关闭。
主要问题是是否存在任何现有的脚本/函数来恢复数据库中字符串中一些错误存储的值?
然后可以循环遍历所有“文本”列并将这些出现替换为它们应该正确的内容,而无需手动遍历数千行。
我想在不久的将来会放弃对魔术引号的支持,当用户从一个切换到另一个时可能需要这样的脚本?
php - 魔术引号如何访问名称中包含“-”的数组元素?
我正在浏览一本手册,发现一条语句说“如果数组元素使用'-'作为单词分隔符,则数组的元素可以通过魔术引号访问”..但没有提供任何解释。有人可以解释这背后的原因吗?
php - 加号在服务器端消失?
我现在无法查看 mysql 表……但我认为 '+' 不会进入表中。
我检查了一下magic_guotes
,它是打开的。然而,magic_quotes 不应该对“+”号做任何事情,因为它只涉及数据库使用的字符的转义。
此外,我regular expressions
在客户端和服务器(javascript 和 php)上检查了我的,没有任何东西可以删除“+”号。
我也使用htmlentites()
,但我不相信 + 是一个 html 实体,即使它是这样,也只能使它成为一个实体而不是一个字符。
这离开json_encode
了,但我能够在编码之前将字符回显给客户端,并且仍然可以看到没有“+”号。
我已经检查了所有 5 个地方,但无法确定 + 号的去向……似乎 mysql 数据库正在返回 + 号应该在的位置。
阿贾克斯序列化
阿贾克斯推文
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 将使“强/密码”不稳定。似乎我需要禁止在密码中使用单引号和双引号。
我得到魔术引号算法了吗?如果是的话,对这个问题有什么想法吗?
php - magic_quotes off - 代码可以中断吗?
如果我在没有编写代码的环境中关闭了magic_quotes,如何检查是否会出现问题?我要检查什么?哪些功能可能不再起作用?