1

我有一个问题,当查询变量有单引号时,带有 mysql 查询的旧程序在新的 php 5.3 中无法使用 magick_quotes_gpc,例如:

$text=$_GET['text'] --> "This is a text doesn'**strong text**t works"
mysql_query("UPDATE table SET '{$text}'");

仅当我以前这样做时才有效:

$text=mysql_real_escape_string($_GET['text']);

但是我不能修改程序,而且程序很大并且有很多查询,我该怎么办?

4

2 回答 2

2

但是我不能修改程序,而且程序很大并且有很多查询,我该怎么办?

如果你不能修改程序,那么你应该启用magic_quotes_gpc- 该功能本身在 php 5.3 中仍然可用 - 只是不推荐使用。

然而,升级到 php 5.4 并运行应用程序将是一个安全问题。因此,在您现在收到有关弃用的警告之后,请考虑您希望在未来如何保持相关应用程序的维护。

于 2012-05-16T23:29:28.370 回答
-2

不要启用magic_quotes_gpc.

自 PHP 5.3.0 起,此功能已被弃用。强烈建议不要依赖此功能。

您可以在您的代码上运行搜索和替换,并将所有出现的地方替换$_GET[]mysql_real_escape_string($_GET[]);

于 2012-05-16T23:22:46.270 回答