《深入浅出Mysql》——第十五章 SQL中的安全问题 第十六章 SQL Mode 及相关问题

时间:2021-08-08 02:10:15

《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 它的产生主要是由于程序对用户输入的数据没有进行严格的 过滤,导致非法数据库查询语句的执行。 

而且,SQL Injection 也很难防范。网站管理员无法通过安装系统补丁或者进行简 单的安全配置进行自我保护,一般的防火墙也无法拦截 SQL Injection 攻击

《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 

《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 

《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 

《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 结果发现,这次记录没有插入成功,给出了一个 ERROR,而不仅仅是 warning。 

下面介绍一下 SQL Mode 的常见功能。 (1)效验日期数据合法性,这是 SQL Mode 的一项常见功能。 

 

《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

很显然,在 ANSI 模式下,非法日期可以插入,但是插入值却变为“0000-00-00 00:00:00”, 并且系统给出了 warning;而在 TRADITIONAL 模式下,在直接提示日期非法,拒绝插入。 

《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 通过上面的实例可以看到,当在 ANSI 模式中增加了 NO_BACKSLASH_ESCAPES 模式后,反斜 线变为了普通字符。如果导入的数据存在反斜线,可以设置此模式,保证导入数据的正确性。 

《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题

 

 《深入浅出Mysql》——第十五章 SQL中的安全问题   第十六章 SQL Mode 及相关问题