防范SQL注入几点小建议
yylbcc — 2007-04-06 GTM -4 @ 14:16 标签: SQLSQL注入还是很流行和普遍,随着web程序的风行,甚至有愈演愈烈之势。
关于SQL注入的影响,也是可大可小的,当然不是每个SQL注入的漏洞都能让入侵者拿到系统级别权限,实际上稍做配置,就不太容易了。不过以上我说的几步很简单,简单到所有的脚本小子高中生初中生都会,准确地说,他们比我更擅长和更迅速,有简单而高效的利用工具,甚至他们不需要学习什么是SQL。
然而五六年过去了,这些伎俩都没有过时,可见并非所有的防守方的防范技术都在与时俱进。谈论SQL注入的文章很多,却很少看到有文章全面的从开发者的角度出发,列出实际开发中应该注意的一些防范措施,本文尝试做这么一件事情。关于什么是SQL注入,有很多文章谈过了,就不详谈了。
造成SQL注入的一个很重要的原因是,数据和逻辑的混杂。很常见的做法就是,将用户的输入和SQL语句进行拼接,最终导致了用户的输入变为了SQL语句的一部分。因此,防范SQL注入的一个很重要的原则就是,让数据只是数据,尽量不要使用用户的数据来构造SQL语句。当然,SQL注入如此盛行的另外一个重要原因是,充满想象力的恶意输入。
类似SQL这样的结构化查询语句,都有可能有类似的注入攻击,比如LDAP,甚至XPath。
如何防范SQL注入呢?以下几点可以帮助你。

digg it
del.icio.us