Web开发安全基础知识

阅读: 评论:0

Web开发安全基础知识

Web开发安全基础知识

关于Web开发安全是Web开发最基础的也是最容易忽略的。一旦忽视就很容造成很大的损失。

常见的Web安全方面主要是:
1. SQL Injection
2. XXS (cross-site scripting)
3. CSRF (cross-site request forgeries)

这是最常见的三种攻击手段。

SQL Injection

SQL攻击(英语:SQL injection),简称注入攻击,是发生于应用程序之数据库层的安全漏洞。简而言之,是在输入的字符串之中注入SQL指令,在设计不良的程序当中忽略了检查,那么这些注入进去的指令就会被数据库服务器误认为是正常的SQL指令而运行,因此遭到破坏或是入侵。 维基百科

避免方法
  1. 在设计应用程序时,完全使用参数化查询(Parameterized Query)来设计数据库访问功能
  2. 在组合SQL字符串时,先针对传入的参数做字符取代(将单引号字符取代为连续两个单引号字符)。
  3. 其他,使用其他更加安全的方式连接数据库。
  4. 使用SQL防注入系统

额外说明

什么是参数化查询

参数化查询(Parameterized Query 或 Paramterized Statement) 是指在设计与数据库链接并访问数据时,在需要填入数值或数据的地方,使用参数来给值,这个方法目前已被视为最有效可预防SQL注入攻击手法的防御方式。

除了安全因素外,相比拼接字符串的SQL语句,参数化的查询往往有性能优势。因为参数化的查询能让不同的数据通过参数到达数据库,从而公用同一条SQL语句。大多数数据库会缓存解析SQL语句产生的字节码而节省下重复解析的开销。如果采取凭借字符串的SQL语句,则会由于操作数据是SQL语句的一部分而非参数的一部分,而反复大量解释SQL语句产生不必要的开销。

原理
在使用参数化查询的情况下,数据库服务器不会将参数的内容视为SQL指令的一部分来处理,而是在数据库完成SQL指令编译后,才套用参数运行,因为就算参数中具有破坏性的指令,也不会被数据库所运行。

Mysql SQL指令撰写方法

set @c1 

本文发布于:2024-02-27 17:54:51,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1709108876114071.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:基础知识   Web
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23