编程需要注意的一些问题不管是用哪种程序语言写连接MySQL数据库的程序,有一条准则是永远不要相信用户提交的数据!对于数字字段,我们要使用查询语句:SELECT * FROM table WHERE ID="234",不要使用SELECT * FROM table WHERE ID=234这样的查询语句。MySQL会自动把字串转换为数字字符并且去除非数字字符。如果用户提交的数据经过了mysql_escape_string处理,这样我们就可以完全杜绝了sql inject攻击,各种编程语言该注意的问题:1)所有Web程序:a)尝试在Web表单输入单引号和双引号来测试可能出现的错误,并找出原因所在。b)修改URL参数带的%22 ("""), %23 ("#"), 和 %27 (""")。c)对于数字字段的变量,我们的应用程序必须进行严格的检查,否则是非常危险的。d)检查用户提交的数据是否超过字段的长度。e)不要给自己程序连接数据库的用户过多的访问权限。2)PHP:a)检查用户提交的数据在查询之前是否经过addslashes处理,在PHP 4.0.3以后提供了基于MySQL C API的函数mysql_escape_string()。3)MySQL C API:a)检查查询字串是否用了mysql_escape_string() API调用。4)MySQL++:a)检查查询字串是否用了escape和quote处理。5)Perl DBI:a)检查查询字串是否用了quote()方法。6)Java JDBC:a)检查查询字串是否用了PreparedStatement对象。
MySQL的安装与配置祥解5MySQL的安装与配置祥解7相关资讯 mysql
- 数据库服务器 MySQL (08/15/2013 06:50:23)
- MySQL 5.6 GA 及逃亡潮 (02/08/2013 14:36:35)
- MySQL 5.5.22、5.1.62、5.0.96全线 (03/22/2012 19:03:49)
| - MySQL Administrator连接VMWare下 (05/24/2013 09:20:58)
- MySQL 5.1.68 发布 (02/05/2013 08:37:47)
- CentOS 5.2+MySQL+Heartbeat双机互 (01/29/2012 11:16:55)
|
本文评论 查看全部评论 (0)