0

我在一台 Moodle 1.9.9+ 服务器中有一个险恶的问题。

在启动页面(是否登录)上,我有摘要,如果我使用 HTML 编辑器创建链接,它会正确创建,但是当我提交时,链接会变成带有一些反斜杠。请参阅我上面的示例:

1) 在 HTML 编辑器上,我写了一段文字:http://www.example.com

2)选择链接按钮

3) 在“URL”字段中,我重复了 URL:http://www.example.com

4) 单击确定按钮。

5) 单击保存更改按钮。

在摘要中,链接显示为:<a href="\"http://www.example.com\"">http://www.example.com</a> 当我点击他时,浏览器转到http://mymoodledomain.com/\"http://www.example.com\"

如果我重新编辑相同的摘要并简单地按保存更改,链接将变为带有更多反斜杠:

http://mymoodledomain.com/\"\\\"http://www.example.com\\\"\"

然后再次:

http://mymoodledomain.com/\"\\\"\\\\\\\"http://www.example.com\\\\\\\"\\\"\"

我不知道我的 Moodle 或我的 PHP 发生了什么。

我试图禁用magic_quotes_gpc,并且他们用一些值定义了常量MOODLE_SANE_INPUT,但部分工作,因为同样的问题也出现在首页设置中,并且禁用magic_quotes并启用常量,对于这种情况不起作用。如果我的标题带有引号,则每次提交时都会保存更多反斜杠,例如:

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"example\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"

请大家,我需要更快地解决这个问题是可能的。

有什么建议吗?

谢谢大家。

4

1 回答 1

1

我遇到了问题并解决了。在 PostgreSQL 上。

9.1 版本默认启用 2 个选项,而 8.3 则关闭。这些选项称为“standard_conforming_strings”和“escape_string_warning”,在 postgresql.conf 中会遇到。

启用后,这些选项会为转义字符保存转义,该转义字符是 PHP 在提交表单时由“magic_quotes_gpc”资源提供的。

谢谢大家!

于 2012-04-26T18:28:52.907 回答