PHP与SQL注入攻击[一]

  •   2009-07-31/22:49
  • Haohappy

    SQL注入攻击是黑客攻击网站最常用的手段。如果你的站点没有使用严格的用户输入检验,那么非常容易遭到SQL注入攻击。SQL注入攻击通常通过给站点数据库提交不良的数据或查询语句来实现,很可能使数据库中的纪录遭到暴露,更改或被删除。下面来谈谈SQL注入攻击是如何实现的,又如何防范。

    看这个例子:

    // supposed input
    $name = “ilia’; DELETE FROM users;”;
    mysql_query(“SELECT * FROM users WHERE name=’{$name}’”);


    很明显最后数据库执行的命令是:

    SELECT * FROM users WHERE name=ilia; DELETE FROM users


    这就给数据库带来了灾难性的后果--所有记录都被删除了。

    不过如果你使用的数据库是MySQL,那么还好,mysql_query()函数不允许直接执行这样的操作(不能单行进行多个语句操作),所以你可以放心。如果你使用的数据库是SQLite或者PostgreSQL,支持这样的语句,那么就将面临灭顶之灾了。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多