作为和数据库打交道的常客,肯定会涉及到sql注入的问题,之前自己就简单介绍了这方面的问题,当时的感觉就是如果不对输入的数据做些限定的话,那么你的数据库就是很危险的,小则数据破损,大则系统奔溃,严重的话如果是一个涉及重大信息或者是金融的系统都会产生不可想象的后果,这些天在做新闻发布系统的时候,老师亲自给我们展示了sql注入的效果,也让自己对sql注入有了更加深刻的认识,下面就分享一下自己对sql注入的再认识!
sql注入就是通过sql语句的固定结构可以尝试得到数据库中的某些字段信息,进而会产生不可预知的后果。比如我们的文本框是实现查询某些信息的功能,那么它的sql语句就是select information from *** where ***,那么我们输入的就是对应于information的内容,一旦我们在文本框中输入“ ') delete ** ” ,之后数据库中真正的sql语句就便是select information') delete ** from *** where ***。
效果如下:
这样系统就会把这个看做是两个sql语句,进而就会使数据库中的信息丢失,可以说这是sql这种结构化的查询语句的弊端,所以为了避免这样的问题便有了对sql注入问题的研究。
为了避免这样的问题产生,我们往往会采用插入参数的方法来解决,即不会有真实的或者是和数据库中字段相似的名字存在,我们在系统中传递的都是参数,从而大大降低了数据库被破坏的风险,但是保持数据库的安全性是一个全面、宏大的话题,自己还需要多多学习和了解,期待大家的赐教!