最新PHP5.5.x中的魔法引号

最新PHP5.5.x中的魔法引号,php,security,Php,Security,1.我是一个初学者。我想知道“magic quote”已被弃用了,所以我还需要在代码中包含吗 2.urldecode(),urlencode(),htmlentities()等我还需要使用吗 3.因此,如果一切正常,则不需要下面的代码 /** Check for Magic Quotes and remove them **/ function stripSlashesDeep($value) { $value = is_array($value) ? array_map(‘stripSlash

1.我是一个初学者。我想知道“magic quote”已被弃用了,所以我还需要在代码中包含吗

2.
urldecode()
urlencode()
htmlentities()
等我还需要使用吗

3.因此,如果一切正常,则不需要下面的代码

/** Check for Magic Quotes and remove them **/
function stripSlashesDeep($value) {
$value = is_array($value) ? array_map(‘stripSlashesDeep’, $value) : stripslashes($value);
return $value;
}

function RemoveMagicQuotes() {
if ( get_magic_quotes_gpc() ) {
$_GET = stripSlashesDeep($_GET );
$_POST = stripSlashesDeep($_POST );
$_COOKIE = stripSlashesDeep($_COOKIE);
}
}

从PHP5.3和更高版本中,魔法引号被删除,不再可用,为什么?它是由程序员来处理和指向它需要去的地方。它本来是用来治疗MySQL注射的,但没有成功

这意味着可以对用户可以用毛茸茸的小爪子抓的所有东西进行消毒。这至少意味着:POST、GET和COOKIE请求

但像magic quotes那样的转义是为了与数据库结合使用。使用PDO转义是自动完成的,您不必担心它(当然,如果使用得当)


其他功能仍将由您自行决定使用。

根据链接-警告从PHP 5.3.0开始,此功能已被弃用,并从PHP 5.4.0开始删除。所以你不应该使用它。而且,我不会使用一个全局清理功能来清理所有东西。你应该考虑把你的函数分成不同类型的输入。你在评论中漏掉了第7个数字。关于“最新的PHP”,你是说PHP?也许你文章的标题应该反映出确切的版本(为了清晰和将来…)谢谢问题2兄弟:)非常感谢,我不需要使用urldecode()、urldecode()、htmlentities()对吗?正如我所说,它们仍然可以在你认为合适的任何地方使用。而
htmlentities()
尤其便于避免XXS攻击(跨站点脚本)