php – 防止SQL注入

前端之家收集整理的这篇文章主要介绍了php – 防止SQL注入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个网站,我正在努力保护连接部分.

我在$login上使用了addslashes函数来停止sql注入,但有些朋友告诉我安全性不够.但是,他们没有告诉我如何利用此漏洞.

我怎么能/你能破坏这段代码
我该如何保护它?

<?PHP

    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
    {
        extract($_POST);
        $sql = "SELECT pseudo,sex,city,pwd FROM auth WHERE pseudo = '".addslashes($login)."'";
        $req = MysqL_query($sql) or die('Erreur sql');
        if (MysqL_num_rows($req) > 0)
        {
            $data = MysqL_fetch_assoc($req);
            if ($password == $data['pwd'])
            {
                $loginOK = true;
            }
        }
    }
    ?>
您应该使用 mysql_real_escape_string查询中转义字符串输入参数.使用类型转换来清理数字参数和白名单以清理标识符.

在引用的PHP页面中,有一个登录表单中的sql注入示例.

更好的解决方案是使用预准备语句,您可以使用PDOmysqli来完成此操作.

猜你在找的PHP相关文章