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

预防SQL漏洞注入和规避网络攻击

前言:

虽然近些年SQL注入已经被各类的安全开发框架规避了绝大部分,但SQL注入作为一种最原始的攻击手段之一,破坏力仍然十分强大,因为它直捣黄龙数据中心。所以未雨绸缪,各位不可不重视。

预防SQL注入方法措施:

  • 服务器层面:

1:购买云服务商的Waf防火墙,WAF会在服务器外部规避识别并过滤掉SQL攻击,并且可以永久封掉对方的IP。

2: 请专业的网络安全公司或购买他们的付费产品来护航。如国内排名前列的奇安信,深信服,新华三,亚信安全,腾讯安全,阿里安全等。往往用魔法打败魔法是最有效的,因为懂得防御的人一定懂得如何攻击,懂攻击的人也势必知道如何防御。

2:要保证生产环境的WebShell是关闭错误信息的。例如,PHP生产环境中的配置php.ini中的display_error是off,这样就能关闭服务器的错误提示,不直接展示给攻击者。

3:做好Web服务的日志实时监控和记录,定期备份,防止攻击者攻入后抹掉相关日志信息。

4:时刻关注最新漏洞和病毒,定期更新维护服务器软件和安全漏洞补丁,做好防护。

5:数据库最小权限规则。确保用户具有执行必要操作的最低权限,这样即使发生SQL注入攻击,攻击者也无法进行危险的操作。

......

  • 程序编码层面:

1:使用参数化和预编译语句。参数化和预编译语句可以防止SQL在执行的时候把用户输入的字符误解为SQL语法。比如以下的sql语句,

  • PrepareStatement函数会将以下SQL语句进行预编译定型,生成固定的SQL数据结构。无论用户输入什么字符,都不会被解析成sql语法,也就是 -- , # ,or 1=1 等这些都会不起作用。从根本上杜绝SQL注入。
String sql = "select * from courseinfo where course_id = ?";stat = connection.PrepareStatement(sql);
  •  但在有些时候我们无法使用预编译语句,比如传入的sql参数为动态的时候,就必须要进行拼接。如以下情况:
  •  这种就必须要指定传入参数的数据类型,最好用正则去过滤校验,像用图中的Map来传递就有很大的风险。

   2:  前端同学在前端输入框要做好表单校验,过滤限制提交那些疑似是恶意的SQL代码。

   3: 使用ORM自动化框架,如Mybatis,Hibernate,等。Hibernate中尽量调用 hibernate.find() 方法去发送查询。 Mybatis中传参时使用 #{}  来过滤,${} 符不会过滤,要合理使用。

   4: 在后端添加Filter 过滤框架,利用正则表达式判断过滤掉那些危险字符。

   5: 在进行JDBC操作时,一定要使用错误捕捉框架或try catch 把错误提示隐藏掉,避免直接显示到页面或反馈给用户,

.......

以上编码层面的防范主要是针对Java, 关于php, python的 ,有机会再补充。

  • 如何最大限度规避网络攻击

一台接入互联网的个人PC机或服务器,其实本身就已经处在了网络攻击的范围内,只是个人PC没有被攻击的价值,所以我们个人可能感觉不到。但那些有价值的商务网站,聊天社交,金融交易,12306,淘宝,京东等和一些重要政务,军事,银行,国家电网,移动,电信,联通运营商等城域网、局域网都无时不刻的在遭受着未知的网络攻击。

规避网络攻击措施:

1:如果网站仅面对国内用户服务的,那就禁止外网IP访问。(因为据调查,90%的网络攻击都来源于境外)。但如果是国际网站 .com等,那就需要做其他措施了,如购买高防服务,和一些安全产品。

  • 能做到绝对安全几乎是不可能的,周鸿伟说过世界上没有攻不破的网络,只有不努力的黑客。
  • 能做到最大限度安全就是花钱雇专业团队来做,但这对于小团队和公司来说不太实际,小公司能做的最好就是购买专业团队公司的安全产品和技术服务。雷军刚在演讲中说过,"遇到不会的问题那就找个会的问问,因为你经历的问题别人早就经历过了”

2:个人电脑的话谨慎点击不明来源的邮件,链接等。

3:安装安全软件杀毒软件,如360,腾讯管家,金山。其他都不建议安装,什么2345杀毒,火绒安全,都实在不值得一提。2345简直就是个病毒蛊,打开即爆发。火绒受到追捧的原因只是因为他现在没有广告,杀毒能力一般,文件粉碎解密和腾讯比太拉跨。

360虽然各项防御能力在国内名列前茅,但那只是对政企用户,他的个人版做的对个人用户越来越不友好,一旦安装一个将会是不经意间就全家桶奉上。这里强烈推荐腾讯管家的旧版,

 

腾讯管家在保护自己产品方面做的非常好,而且杀毒,尤其是文件粉碎,强力删除,文件解密和文件恢复方面 在同等免费产品中个人感觉是最好的。

现在新版阉割了很多工具箱里的功能,电脑诊所什么的都没了。所以这里强烈推荐大家使用旧版,只需定期更新病毒库和新版没有区别。

4:有能力的可以购买付费杀毒软件。会定期更新国际最新的病毒库信息。

5:定期升级系统,安装补丁程序。这里也不是说一发布就升级,而是要看有没有升级的必要,如果被标注是重要升级,那就需要升级。如果只是优化体验,可以选择升级。

.......

后续有新措施,会逐步补充..... 

感谢大家的观看,祝工作顺利,生活愉快。

相关文章:

预防SQL漏洞注入和规避网络攻击

前言: 虽然近些年SQL注入已经被各类的安全开发框架规避了绝大部分,但SQL注入作为一种最原始的攻击手段之一,破坏力仍然十分强大,因为它直捣黄龙数据中心。所以未雨绸缪,各位不可不重视。 预防SQL注入方法措施: 服务器…...

《Go 语言第一课》课程学习笔记(一)

配好环境:选择一种最适合你的 Go 安装方法 选择 Go 版本 一般情况下,建议采用最新版本。因为 Go 团队发布的 Go 语言稳定版本的平均质量一直是很高的,少有影响使用的重大 bug。可以根据不同实际项目需要或开源社区的情况使用不同的版本。 有…...

网络安全 Day29-运维安全项目-iptables防火墙

iptables防火墙 1. 防火墙概述2. 防火墙2.1 防火墙种类及使用说明2.2 必须熟悉的名词2.3 iptables 执行过程※※※※※2.4 表与链※※※※※2.4.1 简介2.4.2 每个表说明2.4.2.1 filter表 :star::star::star::star::star:2.4.2.2 nat表 2.5 环境准备及命令2.6 案例01&#xff1a…...

SQL 复习 03

函数与关键字 用法说明round(x, n)四舍五入,x为浮点数,n为保留的位数ceil(x)向上取整floor(x)向下取整truncate(x, n)截断x,n为保留的位,该位之后的数值置零,位数表示示例:321.123,其中小数点前…...

出现 sudo: docker: command not found 的解决方法

目录 1. 问题所示2. 原理分析3. 解决方法3.1 未成功安装引起3.2 环境变量引起1. 问题所示 安装了docker,但是执行docker命令的时候,提示该问题: ubuntu@10-41-104-1:~$ sudo docker ps -a sudo: docker: command not foundubuntu@10-41-104-1:~$ sudo apt-get install doc…...

FastApi-1-结合sql 增/查demo

目录 FastAPI学习记录项目结构部分接口/代码展示感受全部代码 FastAPI学习记录 fastapi已经学习有一段时间,今天抽时间简单整理下。 官网介绍: FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Py…...

Spring学习笔记3

使用注解开发&#xff1a; Component 组件开发相当于 Value(“xxx”)可以对属性进行赋值 package pojo;import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; //等价于<bean id"user" class"po…...

springboot艰难版本升级之路!! springboot 2.3.x版本升级到2.7.x版本

文章目录 1.缘起1.1 升级到版本2.7.12启动失败,而且没有报错信息1.2 application-dev.yml 配置加载问题1.3 openfeign依赖问题汇总1.4 datasource报错1.5 MySQL驱动升级1.6 循环依赖报错1.7 跨域错误临时总结1.缘起 由于服务需要搭建链路追踪, 需要把springboot版本升级到2.7.1…...

Codeforces 1856E2 复杂度分析 + DP

题意 传送门 Codeforces 1856E2 PermuTree (hard version) 题解 可以独立考虑每一个固定的 p l c a ( u , v ) plca(u,v) plca(u,v) 对答案的贡献。可以观察到&#xff0c;对于 p p p 的每一棵子树&#xff0c;其所有节点在最优情况下仅有 a p < a v a_p < a_v ap…...

Windows - UWP - 为UWP应用创建桌面快捷方式

Windows - UWP - 为UWP应用创建桌面快捷方式 前言 这是一个较为简单的方式&#xff0c;不需要过多的命令行。 How 首先Win R -> shell:AppsFolder -> 回车&#xff0c; 这将显示电脑上的已安装应用&#xff08;Win32 & UWP&#xff09;&#xff1a; 找到想要创建…...

了解Web DDoS海啸攻击的4个维度

我们都知道近年来网络攻击的数量和频率急剧上升&#xff0c;针对Web应用程序的DDoS海啸攻击就是其中增长非常迅速的一个种类。过去常见的HTTP/S洪水攻击正在大范围的转变为更难对付的Web DDoS海啸攻击&#xff0c;每个人都应该提前做好被攻击的准备并采取适当的保护措施。 哪些…...

【数学建模】逻辑回归算法(Logistic Resgression)

逻辑回归算法 简介逻辑回归与条件概率绘制sigmoid函数 简介 逻辑回归算法是一种简单但功能强大的二元线性分类算法。需要注意的是&#xff0c;尽管"逻辑回归"名字带有“回归”二字&#xff0c;但逻辑回归是一个分类算法&#xff0c;而不是回归算法。 我认为&#xff…...

Hadoop HA集群两个NameNode都是standby或者主NameNode是standby,从NameNode是active的情况集锦

文章目录 背景架构HDFS HA配置错误原因解决方案方案一方案二方案三&#xff08;首先查看自己各参数文件是否配置出错&#xff09; 后记补充failovertransitionToActive 常用端口号及配置文件常用端口号hadoop3.xhadoop2.x 常用配置文件 这里说一下配置Hadoop HA集群可能出现的两…...

[Go版]算法通关村第十一关白银——位运算的高频算法题

目录 专题1&#xff1a;位移的妙用题目&#xff1a;位1的个数&#xff08;也被称为汉明重量&#xff09;解法1&#xff1a;遍历所有位&#xff0c;判断每个位的数字是否是1Go代码 解法2&#xff1a;依次消除每个1的位 numnum&(num-1)Go代码 题目&#xff1a;比特位计数思路…...

Swift 基础

工程目录 请点击下面工程名称&#xff0c;跳转到代码的仓库页面&#xff0c;将工程 下载下来 Demo Code 里有详细的注释 点击下载代码&#xff1a;swift-01...

IDEA的常用设置,让你更快速的编程

一、前言 在使用JetBrains的IntelliJ IDEA进行软件开发时&#xff0c;了解和正确配置一些常用设置是非常重要的。IDEA的强大功能和定制性使得开发过程更加高效和舒适。 在本文中&#xff0c;我们将介绍一些常用的IDEA设置&#xff0c;帮助您更好地利用IDEA进行开发。这些设置包…...

docker 镜像的导出与导入 save 与 load

一、镜像导出 docker save 导出 将系统中的镜像保存为压缩包&#xff0c;进行文件传输。使用 docker save --help 查看命令各参数&#xff0c;或者去docker官网查看.以 hello-world镜像为例。 A&#xff1a;将镜像保存为tar包 docker save image > package.tar docker sa…...

WPF显示初始界面--SplashScreen

WPF显示初始界面–SplashScreen 前言 WPF应用程序的运行速度快&#xff0c;但并不能在瞬间启动。当第一次启动应用程序时&#xff0c;会有一些延迟&#xff0c;因为公共语言运行时&#xff08;CLR&#xff09;首先需要初始化.NET环境&#xff0c;然后启动应用程序。 对于WPF中…...

08- AD/DA模/数转换

AD/DA模/数转换 8、AD/DA模/数转换8.1 AD转换注意 示例8.2 DA转换DAC转换原理&#xff1a; 8.3 PWM的DAC 8、AD/DA模/数转换 8.1 AD转换 通道引脚对照表&#xff1a; ADC的引脚&#xff1a; 规则通道和注入通道&#xff1a; 各个通道可以在单次、连续、扫描或者间断模式里…...

DTC服务(0x14 0x19 0x85)

DTC相关的服务有ReadDTCInformation (19) service&#xff0c;ControlDTCSetting (85) service和ReadDTCInformation (19) service ReadDTCInformation (19) service 该服务允许客户端从车辆内任意一台服务器或一组服务器中读取驻留在服务器中的诊断故障代码( DTC )信息的状态…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...