关系型数据库 存放结构化数据:数据是有结构 可高效操作大量数据 数据之间的关联信息:a 表用户信息,b 表评论信息,ab 表 联查 常见:access(直接存问题)/sqlite(嵌入式用,.db 文件)/mysql(不是文件型数据库,是一个服务 3306 端口,连接 mysql,通过协议通讯,支持高并发)/mssql server(服务形式提供) sql 语言 有自己的语法 标准化的语言 用户关…

关系型数据库

  1. 存放结构化数据:数据是有结构
  2. 可高效操作大量数据
  3. 数据之间的关联信息:a 表用户信息,b 表评论信息,ab 表 联查
  4. 常见:access(直接存问题)/sqlite(嵌入式用,.db 文件)/mysql(不是文件型数据库,是一个服务 3306 端口,连接 mysql,通过协议通讯,支持高并发)/mssql server(服务形式提供)

sql 语言

  1. 有自己的语法
  2. 标准化的语言
  3. 用户关系型数据库

sql 注入

  1. 有一部分数据有了程序逻辑

sql 注入的危害

  1. 猜解密码
  2. 获取数据
  3. 删库删表
  4. 拖库:把数据库里面的数据全都拿走

sql 注入如何防御

  1. 关闭错误输出
  2. 检查数据类型
  3. 对数据进行转义,把疑似程序的字符串进行转义,connection.escape()对变量进行转义
  4. 参数化查询,select * from post where id = ?,[id],第一条语句是意图,第二条语句是的条件
  5. 使用 ORM(对象关系映射),nodejs 中可以使用 sequelize

noSql 的注入问题

  1. mongoose 的查询语句 findOne 的 value 值可以是一个对象,如果传一个对象进去,就可以注入了

nosql 注意的防御

  1. 检查数据类型
  2. 类型转换
  3. 写完整条件

暂无评论