数码资讯
ThereasonsforautomaticbackslashbeforePHPformsubmissionandthreewaystoclosePHPmagicQu
最近,已经发现一个PHP程序向数据库提交数据。当一个单引号或双引号中的内容是说,一个反斜杠将增加。这是令人沮丧的添加一个反斜杠每次保存。 因此,它是从互联网上搜索的。它最初是一个PHP程序。为了防止注射或溢出,PHP指令magic_quotes_gpc自动添加在双引号前面的斜杠,单引号,反斜线和空。
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
最近,已经发现一个PHP程序向数据库提交数据。当一个单引号或双引号中的内容是说,一个反斜杠将增加。这是令人沮丧的添加一个反斜杠每次保存。
因此,它是从互联网上搜索的。它最初是一个PHP程序。为了防止注射或溢出,PHP指令magic_quotes_gpc自动添加在双引号前面的斜杠,单引号,反斜线和空。
默认的PHP指令magic_quotes_gpc上,即开放。这一次stripslashes()函数可以用来删除自动添加反斜杠。用法:例如,如果包含字符串str变量,然后使用stripslashes()函数来处理字符串:stripslashes($str),和输出结果是消除反斜杠。
所以我会用stripslashes处理读取的字符串的内容()函数,即价值= stripslashes(str),然后保存。
但是还有一个问题,那就是,因为当地的PHP指令magic_quotes_gpc关闭。如果使用此功能,原有的正常反斜杠也将被删除。这不是我们想要的。
解决的办法是使用功能get_magic_quotes_gpc()检测。如果它是开放的状态,然后删除回车,如果它是一个封闭的状态,然后不去反斜杠。
程序代码如下所示:
$str = $ _post {STR}; / /读给str变量str的内容
如果(get_magic_quotes_gpc)(get_magic_quotes_gpc) / /如果()是开放的
{ $str = stripslashes(str); / /字符串处理
}
这里有三种方法来解决这个问题:
方法1:修改PHP配置文件php.ini
此方法只适用于它有权管理服务器的情况。如果使用虚拟空间,则只能使用最后两种方法。
在PHP配置文件php.ini,所有magic_quotes_gpc,magic_quotes_runtime,和magic_quotes_sybase设置为关闭。如下图所示:
magic_quotes_gpc =关闭
magic_quotes_runtime =关闭
magic_quotes_sybase =关闭
方法2:使用.htaccess文件
这种方法一般是由当前服务器只有当服务器支持.htaccess。
在添加以下语句。程序目录下的.htaccess文件。
复制代码代码如下所示:
php_flag magic_quotes_gpc关闭
方法3:代码中的屏蔽
这种方法是最强大的可移植性,不考虑服务器配置,只要PHP支持,就可以使用它。
在所有php文件的开头添加以下代码
如果(get_magic_quotes_gpc()){
功能stripslashes_deep(美元值){
价值= is_array(美元值)array_map('stripslashes_deep ',美元的价值):stripslashes(价值);
返回值;
}
_post美元= array_map('stripslashes_deep,_post美元);
_get美元= array_map('stripslashes_deep,_get美元);
_cookie美元= array_map('stripslashes_deep,_cookie美元);
_request美元= array_map('stripslashes_deep,_request美元);
}
以上介绍的是,这篇文章向你介绍了PHP表单提交后的原因,自动反斜杠前引号,并关闭PHP魔术引号的三种方式。希望你能喜欢。
因此,它是从互联网上搜索的。它最初是一个PHP程序。为了防止注射或溢出,PHP指令magic_quotes_gpc自动添加在双引号前面的斜杠,单引号,反斜线和空。
默认的PHP指令magic_quotes_gpc上,即开放。这一次stripslashes()函数可以用来删除自动添加反斜杠。用法:例如,如果包含字符串str变量,然后使用stripslashes()函数来处理字符串:stripslashes($str),和输出结果是消除反斜杠。
所以我会用stripslashes处理读取的字符串的内容()函数,即价值= stripslashes(str),然后保存。
但是还有一个问题,那就是,因为当地的PHP指令magic_quotes_gpc关闭。如果使用此功能,原有的正常反斜杠也将被删除。这不是我们想要的。
解决的办法是使用功能get_magic_quotes_gpc()检测。如果它是开放的状态,然后删除回车,如果它是一个封闭的状态,然后不去反斜杠。
程序代码如下所示:
$str = $ _post {STR}; / /读给str变量str的内容
如果(get_magic_quotes_gpc)(get_magic_quotes_gpc) / /如果()是开放的
{ $str = stripslashes(str); / /字符串处理
}
这里有三种方法来解决这个问题:
方法1:修改PHP配置文件php.ini
此方法只适用于它有权管理服务器的情况。如果使用虚拟空间,则只能使用最后两种方法。
在PHP配置文件php.ini,所有magic_quotes_gpc,magic_quotes_runtime,和magic_quotes_sybase设置为关闭。如下图所示:
magic_quotes_gpc =关闭
magic_quotes_runtime =关闭
magic_quotes_sybase =关闭
方法2:使用.htaccess文件
这种方法一般是由当前服务器只有当服务器支持.htaccess。
在添加以下语句。程序目录下的.htaccess文件。
复制代码代码如下所示:
php_flag magic_quotes_gpc关闭
方法3:代码中的屏蔽
这种方法是最强大的可移植性,不考虑服务器配置,只要PHP支持,就可以使用它。
在所有php文件的开头添加以下代码
如果(get_magic_quotes_gpc()){
功能stripslashes_deep(美元值){
价值= is_array(美元值)array_map('stripslashes_deep ',美元的价值):stripslashes(价值);
返回值;
}
_post美元= array_map('stripslashes_deep,_post美元);
_get美元= array_map('stripslashes_deep,_get美元);
_cookie美元= array_map('stripslashes_deep,_cookie美元);
_request美元= array_map('stripslashes_deep,_request美元);
}
以上介绍的是,这篇文章向你介绍了PHP表单提交后的原因,自动反斜杠前引号,并关闭PHP魔术引号的三种方式。希望你能喜欢。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。