php _REQUEST多了个反斜杠

如果你发现提交给php的参数_REQUEST中的值无缘无故多了个反斜杠,请不要奇怪,这个和php的magic_quotes_gpc这个配置有关系。

默认它是on所以,所有传入参数都会用\转义,这当然是安全原因,但是是个很不好的做法,5.3之后就不建议用,6.0以后就直接删除了。

但是代码里还是要处理:

<?php
if (get_magic_quotes_gpc()) {
			$msg = stripslashes($msg);
		}
?>


php文档中还提供了深度反转义的方法:

/>

<?php
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);

return $value;
}

function remove_wp_magic_quotes()
{

if (get_magic_quotes_gpc()) {
$_GET = stripslashes_deep($_GET);
$_POST = stripslashes_deep($_POST);
$_COOKIE = stripslashes_deep($_COOKIE);
$_REQUEST = stripslashes_deep($_REQUEST);

}
}
?>


Total views.

© 2013 - 2024. All rights reserved.

Powered by Hydejack v6.6.1