魔法引用是否容易受到Sql Injection的攻击?我应该使用stripslashes然后消毒输入吗?

时间:2011-11-01 03:26:22

标签: php sql-injection magic-quotes-gpc

我对这些神奇的引语感到困惑 它们在我的服务器上启用,我的问题是我应该禁用它们 通过使用如下函数:

if(get_magic_quotes_gpc()){
 $username=stripslashes($username);
 $password=stripslashes($password);
}

要消毒我的意见,还是应该将所有工作留给魔术报价 我正在练习一些sql注入(用于学习目的)和魔法引号 我什么都做不了,但是当我使用上面的代码时,我可以进行sql注入 所以我应该坚持使用魔术引号或使用这样的函数:

if(get_magic_quotes_gpc()){
 $username=stripslashes($username);
 $password=stripslashes($password);
 $cleanUsername=mysql_real_escape_string($username);
 $cleanPassword=mysql_real_escape_string($password);
}

我没有那么多关于消毒输入的经验所以任何帮助请:(

1 个答案:

答案 0 :(得分:1)

魔术引号已被弃用,将从下一版本的PHP(PHP 5.4)中删除,因此您不应该依赖它们。 (参见http://www.php.net/manual/en/security.magicquotes.php)防止SQL注入的最佳方法是使用PDO和预处理语句。有关详情,请参阅http://fr2.php.net/manual/en/pdo.prepared-statements.php,如果您需要更多内容,请在Google上搜索教程。