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

三河网站seo东莞seo排名外包

三河网站seo,东莞seo排名外包,2017年用什么语言做网站,厦门广告公司网站建设什么是 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.15wanjia.com/news/54638.html

相关文章:

  • 套模板做网站 链接怎么做百度推广优化
  • 怎么找有赞做网站软文推广去哪个平台好
  • 制作企业网站首页效果图seo主要做哪些工作
  • 理性仁网站如何做估值分析长沙免费建站网络营销
  • 网站后台重置密码怎么做苏州手机关键词优化
  • 灰产源码资源网如何优化关键词搜索
  • 聊城做网站最好的网络公司内容营销
  • 洛阳做网站那家好seo网站关键词排名快速
  • wordpress编辑器文件南昌seo实用技巧
  • 张家界网站建设方案百度知道问答
  • 新疆网站备案百度人工客服电话多少
  • 网站上动态图片怎么做北京seo平台
  • 摄影作品欣赏网站西安做推广优化的公司
  • html可以做动态网站吗免费做网站怎么做网站
  • 上海做网站报价谷歌浏览器手机版官网下载
  • 网站关键词怎么做效果好cctv 13新闻频道
  • 宁波网站优化公司价格小网站搜什么关键词好
  • 做网站开发的营业执照技能培训网站
  • 电竞网站开发需求报告饥饿营销案例
  • 做淘宝客需要企业网站吗微信社群营销推广方案
  • 网上做兼职网站有哪些长沙seo代理
  • 广州中学生网站制作宁波seo关键词优化教程
  • 公司网站优化推广吸引人的微信软文
  • 合肥网站排名优化公司哪家好营销说白了就是干什么的
  • 老域名网站不收录搜索引擎竞价排名
  • 新网站建设的工作总结电商推广和网络推广的策略
  • dede网站白屏天津搜索引擎优化
  • wordpress 自定义字段 查询武汉关键词seo排名
  • 网站优化怎么做分录优化深圳seo
  • 为什么很少人敢娶外贸女北京网站优化哪家好