SQL注入是什么,如何避免SQL注入?

548 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情

什么是DDos攻击? DDos全称Distributed Denial of Service,分布式拒绝服务攻击。最基本的DOS攻击过程如下:

客户端向服务端发送请求链接数据包。 服务端向客户端发送确认数据包。 客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认 DDoS则是采用分布式的方法,通过在网络上占领多台“肉鸡”,用多台计算机发起攻击。

DOS攻击现在基本没啥作用了,因为服务器的性能都很好,而且是多台服务器共同作用,1V1的模式黑客无法占上风。对于DDOS攻击,预防方法有:

减少SYN timeout时间。在握手的第三步,服务器会等待30秒-120秒的时间,减少这个等待时间就能释放更多的资源。 限制同时打开的SYN半连接数目。 什么是XSS攻击? XSS也称 cross-site scripting,跨站脚本。这种攻击是由于服务器将攻击者存储的数据原原本本地显示给其他用户所致的。比如一个存在XSS漏洞的论坛,用户发帖时就可以引入带有<script>标签的代码,导致恶意代码的执行。

预防措施有:

前端:过滤。 后端:转义,比如go自带的处理器就具有转义功能。 SQL注入是什么,如何避免SQL注入? SQL 注入就是在用户输入的字符串中加入 SQL 语句,如果在设计不良的程序中忽略了检查,那么这些注入进去的 SQL 语句就会被数据库服务器误认为是正常的 SQL 语句而运行,攻击者就可以执行计划外的命令或访问未被授权的数据。

SQL注入的原理主要有以下 4 点

恶意拼接查询 利用注释执行非法命令 传入非法参数 添加额外条件 避免SQL注入的一些方法:

限制数据库权限,给用户提供仅仅能够满足其工作的最低权限。 对进入数据库的特殊字符(’”\尖括号&*;等)转义处理。 提供参数化查询接口,不要直接使用原生SQL。 负载均衡算法有哪些? 多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,能互相分担负载。

轮询法:将请求按照顺序轮流的分配到服务器上。大锅饭,不能发挥某些高性能服务器的优势。 随机法:随机获取一台,和轮询类似。 哈希法:通过ip地址哈希化来确定要选择的服务器编号。好处是,每次客户端访问的服务器都是同一个服务器,能很好地利用session或者cookie。 加权轮询:根据服务器性能不同加权。