Ada*_*ron 9 php runtime magic-quotes
我正在编写一组PHP脚本,这些脚本将在一些不同的设置中运行,其中一些与魔术引号共享托管(恐怖).如果没有控制PHP或Apache配置的能力,我可以在脚本中做任何事情来在运行时禁用PHP引号吗?
如果代码没有假设魔术引号打开会更好,这样我就可以在不同的主机上使用相同的脚本,这些主机可能有也可能没有魔术引号.
Gum*_*mbo 15
只有magic_quoted_runtime可以在运行时被禁用.但是不能在运行时禁用magic_quotes_gpc(PHP_INI_ALL可以改变,直到PHP 4.2.3,从那时起PHP_INI_PERDIR); 你只能删除它们:
if (get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
unset($process[$key][$k]);
if (is_array($v)) {
$process[$key][stripslashes($k)] = $v;
$process[] = &$process[$key][stripslashes($k)];
} else {
$process[$key][stripslashes($k)] = stripslashes($v);
}
}
}
unset($process);
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅禁用魔术引号.
在运行时无法禁用魔术引号,但您可以使用目录中的.htaccess文件来禁用它.
php_flag magic_quotes_gpc off
Run Code Online (Sandbox Code Playgroud)
它唯一真正的优点是你可以把它放在一个目录中,它适用于整个目录和子目录.真的很好,如果你需要这个你没有写的应用程序,并需要让它工作没有魔术报价.