PHP URL编码和解码
全部, 这里有一个文本区域 当数据发布到服务器端时,数据作为 这是我的名字,我的邮件id是\“a@x.com\" 反斜杠添加在双引号后面。现在如何在提交之前对数据进行编码。我正在服务器端使用phpPHP URL编码和解码,php,urlencode,urldecode,Php,Urlencode,Urldecode,全部, 这里有一个文本区域 当数据发布到服务器端时,数据作为 这是我的名字,我的邮件id是\“a@x.com\" 反斜杠添加在双引号后面。现在如何在提交之前对数据进行编码。我正在服务器端使用php 谢谢。这是magic\u quotes\u gpc启动-要删除它,只需在php.ini中禁用它或使用stripslashes删除它($your\u var) 尽管请记住,这是php的一个(糟糕的)安全特性,但在将数据存储到数据库时,您应该使用相应的转义函数来防止sql注入,并且在显示用户发布的数据时
谢谢。这是magic\u quotes\u gpc启动-要删除它,只需在php.ini中禁用它或使用stripslashes删除它($your\u var)
尽管请记住,这是php的一个(糟糕的)安全特性,但在将数据存储到数据库时,您应该使用相应的转义函数来防止sql注入,并且在显示用户发布的数据时,您的清理函数应该防止xss注入。在php.ini中禁用magic_引号或使用
stripslashes($text)
在PHP中删除斜杠。您的服务器上似乎启用了该指令:
当magic_quotes打开时,所有
(单引号),(双引号)\
(反斜杠)和NUL用
自动加反斜杠
如果您无法在服务器配置中禁用它,解决方案是:
- 检测此选项是否已启用
- 如果是,请使用从输入中删除转义
当然,在使用数据之前,您必须正确地转义数据;例如,在将数据注入SQL查询之前。您的系统上可能启用了魔法引号。这不是一个错误。如果您的web托管提供商不允许您在PHP.ini文件中禁用魔法引号,您也可以在PHP中删除魔法引号。请将此代码放在顶部您的PHP脚本:
if (get_magic_quotes_gpc()) {
function stripslashes_deep($value) {
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
$_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}
here is my name and my mail id is "a@x.com"
if (get_magic_quotes_gpc()) {
function stripslashes_deep($value) {
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}
$_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}