如何在没有 php.ini 访问权限的共享托管环境中禁用 Magic Quotes GPC?

Mary-Kate Olsen
发布: 2024-11-25 22:51:10
原创
160 人浏览过

How Can I Disable Magic Quotes GPC in a Shared Hosting Environment Without php.ini Access?

在没有直接 PHP.ini 访问的共享托管环境中禁用魔术引号

许多共享托管提供商禁用修改 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板