许多共享托管提供商禁用修改 php.ini 文件的功能,这可能会阻止用户禁用 Magic Quotes GPC。此设置会自动转义用户提交的数据中的字符,从而导致处理数据时出现问题。
要在无法访问 php.ini 的情况下禁用 Magic Quotes GPC,请考虑以下解决方案:
自定义php.ini
一些共享托管环境允许用户创建自定义 php.ini 文件。例如,在 suexec/FastCGI 设置中,每个网站空间的 php.ini 可能可用。通过将“magic_quotes_gpc = Off”行添加到此自定义 php.ini 文件中,您可以覆盖默认设置。
.htaccess 文件
如果自定义 php.ini ini 不是一个选项,您可以尝试将以下代码添加到您的 .htaccess file:
AddType x-mapp-php5 .php php_flag magic_quotes_gpc 0
请注意,该值应该为“0”(表示“关闭”),而不是“O”(表示“大写字母 o”)。
Ini_set() 函数
虽然 ini_set() 不能直接改变 magic_quotes_gpc 的值(它是一个PHP_INI_PERDIR 设置),您可以在解决方法中使用它:
if ( in_array( strtolower( ini_get( 'magic_quotes_gpc' ) ), array( '1', 'on' ) ) ) { $_POST = array_map( 'stripslashes', $_POST ); $_GET = array_map( 'stripslashes', $_GET ); $_COOKIE = array_map( 'stripslashes', $_COOKIE ); }
此脚本检查 Magic Quotes GPC 是否已启用,并通过从 $_POST、$_GET 和 $_COOKIE 数组中删除斜杠来反转其效果。
以上是如何在没有 php.ini 访问权限的共享托管环境中禁用 Magic Quotes GPC?的详细内容。更多信息请关注PHP中文网其他相关文章!