当前位置: 首页 > news >正文

移动端响应式网站怎么做如何注册网站主办者

移动端响应式网站怎么做,如何注册网站主办者,南昌做网站优化的公司,重庆网站开发商城什么是 SQL 注入 SQL 注入是一种常见的数据库攻击手段, SQL 注入漏洞也是网络世界中最普遍的漏洞之一。 SQL 注入就是恶意用户通过在表单中填写包含 SQL 关键字的数据来使数据库执行非常规代码的过程。 这个问题的来源就是, SQL 数据库的操作是通过 SQ…

什么是 SQL 注入

SQL 注入是一种常见的数据库攻击手段, SQL 注入漏洞也是网络世界中最普遍的漏洞之一。 SQL 注入就是恶意用户通过在表单中填写包含 SQL 关键字的数据来使数据库执行非常规代码的过程。

这个问题的来源就是, SQL 数据库的操作是通过 SQL 命令执行的,无论是执行代码还是数据项都必须卸载 SQL 语句中,这就导致如果我们在数据项中加入了某些 SQL 语句关键字(比如 SELECT,DROP等等),这些关键字就很可能在数据库写入或读取数据时得到执行。

SQL 注入需要满足的条件

  1. 参数用户可控:前端传给后端的参数用户可控
  2. 参数代入数据库查询:传入的参数拼接到 SQL 语句中,且代入数据库中查询
id := "031904102" + " AND 1=1 "
where := "stu_number=" + id 
err := DB.Model(&User{}).Where(where).Find(&user).Error
if err != nil {fmt.Println(err)
}

如果使用上述代码的话进行字符串的拼接,就会导致 sql 注入的发生,本来是查询一条语句的,但是由于后面注入了 1 = 1 所以把数据库中的信息全部查出来了。

解决方法:使用占位符

user2 := []User{}
id := "156315775 ; drop table notice;"
err = DB.Model(&User{}).Where("stu_number=?", id).Find(&user2).Error
if err != nil {fmt.Println(err)
}

最终的语句为:

SELECT * FROM `user` WHERE stu_number=031904102; drop table notice;

这条语句在 sql 中是可以执行的,但是在 gorm 框架中是不能执行的。

总结

避免在操作数据库的时候使用字符串直接拼接的方式进行 SQL 查询。

http://www.yayakq.cn/news/840537/

相关文章:

  • 天河低价网站建设制作网页网站哪个好用
  • 做企业网站市场分析兰州app开发
  • 表单大师 做网站中文wordpress博客模板下载
  • 温州网站设计平台上海市官网
  • 学校门户网站的网站建设方案wordpress获取地址
  • 织梦后台如何做网站地图商城网站建设方案
  • 做电影网站大概要多少钱国际军事新闻视频
  • 建设银行个人网站个人客户wordpress悬浮按钮插件
  • 怎么做网站跟域名开发者头条
  • 个人做理财网站安徽省建筑业信息一体化平台网
  • 洛阳网站建设行业建设一个聊天类的网站
  • php网站 缓存wordpress修改固定链接后无法访问
  • 杭州北京网站建设公司专业工厂网站建设
  • 旅游网站的规划与建设开题报告网线制作原理
  • 江西城乡建设厅网站网站建设改版公司
  • 推广网站挣钱全自动网页制作
  • les做ml网站公司的网站如何做
  • 保险网站有哪些平台上海十大国企排名
  • 四川网络推广公司seo基础课程
  • 模版网站好吗成都营销型网站建设中账号
  • 沈阳网站制作建设株洲做网站需要多少钱
  • 网站建设定做建平台网站费用
  • 公司网站开发部署为什么wordpress有cookies
  • 电子商务网站建设与维护中职教材建设银行征信中心个人信用查询官方网站
  • 广州外贸网站制作微信wap网站
  • 网站建设的公司怎么收费网页图片大小怎么调整
  • 网站专题页面用什么做女装网站建设项目可行性分析表
  • 做数据新闻的网站有哪些建设网站大概要花多少钱
  • 初中学生做那个的网站lanyun网站开发
  • 现在学做网站赚钱吗wordpress评论钩子