关系型数据库
- 存放结构化数据:数据是有结构
- 可高效操作大量数据
- 数据之间的关联信息:a 表用户信息,b 表评论信息,ab 表 联查
- 常见:access(直接存问题)/sqlite(嵌入式用,.db 文件)/mysql(不是文件型数据库,是一个服务 3306 端口,连接 mysql,通过协议通讯,支持高并发)/mssql server(服务形式提供)
sql 语言
- 有自己的语法
- 标准化的语言
- 用户关系型数据库
sql 注入
- 有一部分数据有了程序逻辑
sql 注入的危害
- 猜解密码
- 获取数据
- 删库删表
- 拖库:把数据库里面的数据全都拿走
sql 注入如何防御
- 关闭错误输出
- 检查数据类型
- 对数据进行转义,把疑似程序的字符串进行转义,connection.escape()对变量进行转义
- 参数化查询,
select * from post where id = ?,[id],第一条语句是意图,第二条语句是的条件 - 使用 ORM(对象关系映射),nodejs 中可以使用 sequelize
noSql 的注入问题
- mongoose 的查询语句 findOne 的 value 值可以是一个对象,如果传一个对象进去,就可以注入了
nosql 注意的防御
- 检查数据类型
- 类型转换
- 写完整条件

确认评论邮箱
邀请制评论