Web开发安全基础知识

编程入门 行业动态 更新时间:2024-10-15 22:28:59

Web开发安全<a href=https://www.elefans.com/category/jswz/34/1769428.html style=基础知识"/>

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 

更多推荐

Web开发安全基础知识

本文发布于:2024-02-27 17:54:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1707646.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础知识   Web

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!