首页 >后端开发 >php教程 >如何在没有 php.ini 访问权限的情况下禁用共享主机上的魔术引号?

如何在没有 php.ini 访问权限的情况下禁用共享主机上的魔术引号?

Patricia Arquette
Patricia Arquette原创
2024-11-25 06:04:101000浏览

How Can I Disable Magic Quotes on Shared Hosting Without php.ini Access?

禁用共享主机上的魔术引号

关闭共享主机上的魔术引号可能很棘手,尤其是当您无权访问时php.ini。

使用.htaccess

将 php_flag magic_quotes_gpc 添加到 .htaccess 文件可能并不总是有效。该指令通常用于 mod_php 环境,但共享托管提供商通常使用 suexec/FastCGI 设置。

自定义 php.ini

在这种情况下,您可以安装自定义 php.ini 文件。一些共享托管提供商允许在 suexec/FastCGI 设置中执行此操作。

ini_set()

使用 ini_set('magic_quotes_gpc', 'O') 不会关闭魔术引号。正确的值应该是 0、 false 或“off”。但是,需要注意的是 magic_quotes_gpc 是 PHP_INI_PERDIR 设置,这意味着您无法使用 ini_set() 更改它。

.htaccess 替代

Since ini_set()不是一个选项,您可以使用 .htaccess 文件代替。但是,您必须使用正确的指令:

php_value magic_quotes_gpc 0

脚本解决方法

如果不允许 .htaccess,您可以实现一个解决方法脚本来逆转以下效果魔法名言:

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 );
}

以上是如何在没有 php.ini 访问权限的情况下禁用共享主机上的魔术引号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn