【问题标题】:Other causes of PHP inserting escape characters besides magic_quotes_gpc除了 magic_quotes_gpc 之外,PHP 插入转义字符的其他原因
【发布时间】:2013-08-29 09:21:27
【问题描述】:

编辑: 有人非常正确地向我指出,我最初解决这个问题的方法是专注于错误的问题。我现在对其进行了重组,将重点放在根本原因上,而不是我的具体目标上。我将继续根据我的尝试更新问题。

我正在 Laravel 4 中构建一个应用程序,该应用程序将部署在生产服务器上,该生产服务器当前正在向添加到数据库的任何字符串添加转义斜杠。 (这不会发生在我的本地开发环境中)。我已经尝试调查是否可以通过在 PHP 配置中禁用 magic_quotes_gpc 来防止这种情况发生,但它已经被禁用了。

最好能够解决这个问题的根本原因。为此,任何关于其他配置选项可能是问题原因的指针将不胜感激。我将继续自己研究这个问题,并根据我的尝试来更新问题。

我最初的问题是如何找到在模型级别应用stripslashes() 的方法,以便转义字符至少出现在我的视图中。理想情况下,我希望这不是必需的,但如果可以实现,我不能排除将其作为短期补救措施。

【问题讨论】:

  • 就我个人而言,我会尝试更多地找出问题的原因,而不是添加大量代码来解决它。无论如何,你都可以投票,祝你好运。
  • 这是一个错误的问题。您必须确保斜线未被添加而不是被删除。
  • 这个问题听起来有点像:天啊,这些斜线是从哪里来的?好吧,让我们检查一下是否启用了魔术引号。 快看哦,好像不是。哦,我不知道,让我们不在乎,只是在stackoverflow上提出一个问题,他们总是有的想法。
  • 我看到你改写了这个问题。由于这是与故障排除相关的问题,因此只是一个问题:您是否知道此处列出的三个设置:php.net/security.magicquotes.disabling?还有那个服务器系统使用的是哪个 PHP 版本(可能还有配置)(例如phpinfo())?
  • 感谢您让我远离错误的方法。我现在实际上已经设法自己解决了这个问题。原来magic_quotes_gpc毕竟是活跃的。

标签: php laravel laravel-4 eloquent


【解决方案1】:

为了防止这种情况发生,我需要找到一种方法来确保所有文本输出都删除了斜杠。我的代码库已经相当大,因此手动从每个字段中删除斜线是非常不切实际的。

所以不要在第一次运行时添加它们。这里没有什么可讨论的,在服务器上找到问题并清理混乱。这可能会花费您一两天的时间(实际上通常要快得多),但这不会花费您插入一个会中断输入到您不想要的扩展的 akward 幻想层。从长远来看,它只会花费您几天的时间。

只是一个善意的提醒:谁告诉你 stripslashes() 实际上会完美地反转斜线的应用,这些斜线恰好发生在魔法上,而你目前还不知道 在哪里它来自哪里?

说句公道话,告诉每个人你在黑暗中步履蹒跚,现在你想收集最好的建议,你会从中挑选出你认为可行的建议(但仍被困在黑暗中)。取而代之的是获得光明并获得视力。否则你在追逐一个鬼魂,这可能会严重影响你。闹鬼的服务器斜线幽灵:D

【讨论】:

    【解决方案2】:

    原来是我查magic_quotes_gpc的状态时弄错了。当我查看phpinfo() 时,它被标记为仍然启用,而 WHM 的 PHP 配置编辑器将其显示为“Off ** DEFAULT **”。

    手动将其设置为关闭解决了问题

    【讨论】:

      猜你喜欢
      • 2014-08-22
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 2016-04-14
      • 2014-02-22
      • 2018-01-07
      • 2011-03-24
      • 2022-07-04
      相关资源
      最近更新 更多