Twitter 今天即将飞回广州00:42夜已深,刚写完日记 杭州 释然 回味 “我会回来滴”灰大狼
 PHPma >> Mysql > MySQL一般滴安全性问题,请对技术好点

数据库中数据是一个公司、企业、网站滴根本,懂得了这点,你就发现DBA滴职位为何这么重要?有些东西不是真要丢失过了,才知道他滴重要性;若是真正丢失时,必将追悔莫及。

作为一个开发者,必须要懂得,我们不能信任任何应用程序的用户输入的任何数据;也请不要将纯文本密码保存到数据库中,若自己的计算机有安全危险,入侵者可以获得所有的密码并使用它们,举些简单滴例子MySQL)。

A:可以用Web形式、URL或构建的应用程序输入特殊或逃溢字符序列来尝试欺骗自己滴程序代码。比如某个用户输入“; DROP DATABASE XXmysql;”等内容,若PHP程序中没做相应滴过滤,并且网站程序用root登陆(尤其是root账号链接,因为本地程序调试时,经常就是root访问)就成“杯具”性问题滴出现。这是特例,但当黑客使用类似技术时,如果你没有做好准备,结果可能会出现大的安全漏洞和数据丢失。

B:表单提交数据查询,一般在内部网络中使用(公司规模以后,就会发现林子大了什么鸟都有)。比如查询SELECT * FROM table WHERE id=8888。8888是表单提交过来地数据,若没做过滤处理,别有用心滴鸟人就会输入“8888 OR 1=1”,结果是服务器查找表内的每个记录。这样会暴露每个记录并造成过多的服务器负载。然后就会有员工骂公司滴后台就是一LJ,蜗牛。为保护防范这类攻击的最简单的方法是使用单引号将数字常量引起来,并对提交过来滴数据做过滤处理,只允许输入指定格式滴数据,类似邮箱验证一样:SELECT * FROM table WHERE ID='8888'。如果用户输入其它信息,均变为字符串的一部分。在数字部分,MySQL自动将字符串转换为数字并剥离字符串包含的附加的非数字字符。

就不再例举,如下述说简单滴防范

1.用管理账户之外的用户名将应用程序连接到数据库,不要给应用程序任何不需要的访问权限,肯定不能给ROOT账号权限。

2.不要信任任何传递过来地数据,一定要过滤处理,特别Web形式输入单引号和双引号(‘'’和‘"’)。

3.数据库一定要有备份机制,特别是安全性要求高滴——必须要有应急备案,没有人能保证自己维护滴数据库与服务器永远不出现问题,不管他有多NB。

4.管理数据库滴人很重要,对DBA好点,不然哪天就来个DROP DATABASE

……

太多啦!一切要保证数据滴安全为前提。胡说一通MYSQL,无非是牢骚来,真实滴想法是,只希望更多滴企业都重视一下DBA,程序员,技术岗位的开发维护人员。要知道那丁点滴支出是值得滴。

                            /**
                             ** 温馨提示:本站所有文章均来自PHPma精心编辑,99%原创,转帖之人需保留本站的链接
                             ** 本站所有文章仅代表本人观点,转帖概不负责
                             ** 作者:PHPma
                             **/
                        

About PHPma

PHPma一个主要关注PHP技术为主的技术杂烩站点

一个在PHP技术圈子里面活跃D虾米,分享一个草根IT程序员D劳动成果,亦是此草根IT程序员发泄的场所。

Email:phpmacom@gmail.com

网站分类

copyright 2010 - 2012, 版权所有  All Rights Reserved