当前位置: 首页 > 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 )信息的状态…...

Unity安卓构建72小时实战指南:从零到真机运行

1. 这不是“又一本Unity教程”&#xff0c;而是我带三个新人从零上线第一款安卓游戏的真实路径你点开这个标题&#xff0c;大概率正站在两个路口之间&#xff1a;一边是满屏“30天速成Unity”“零基础做爆款”的短视频封面&#xff0c;一边是你刚下载完Unity Hub、卡在Android …...

2026在线测评系统十大量表对比:信效度与场景全解析

【30s 核心摘要】2026 年在线测评成人才管理刚需&#xff0c;信效度与场景适配成选型核心。本文聚焦十大量表&#xff0c;从信度、效度、适配场景等维度深度对比&#xff0c;重点解析问卷星、北森、金数据等主流平台的量表能力与落地效果&#xff0c;为企业、高校及机构提供科学…...

CANoe诊断测试没CDD文件怎么办?手把手教你用Fault Memory窗口和CAPL脚本读取解析DTC故障码

CANoe诊断测试无CDD文件的实战解决方案&#xff1a;从Fault Memory到CAPL脚本全解析当CDD文件缺失或定义不清晰时&#xff0c;诊断测试工程师常常陷入困境。本文将深入探讨如何利用Fault Memory窗口的基础功能&#xff0c;并通过CAPL脚本实现更灵活、更强大的故障码读取与解析方…...

SpeakingURL版本升级指南:从旧版本迁移到最新版本的完整教程

SpeakingURL版本升级指南&#xff1a;从旧版本迁移到最新版本的完整教程 【免费下载链接】speakingurl Generate a slug – transliteration with a lot of options 项目地址: https://gitcode.com/gh_mirrors/sp/speakingurl SpeakingURL是一款强大的URL友好化工具&…...

Unlock-Music:浏览器中一键解锁加密音乐文件的完整指南

Unlock-Music&#xff1a;浏览器中一键解锁加密音乐文件的完整指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: http…...

3步终结Windows热键冲突:Hotkey Detective终极排查指南

3步终结Windows热键冲突&#xff1a;Hotkey Detective终极排查指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾…...

终极虚拟显示器解决方案:ParsecVDisplay完整使用指南

终极虚拟显示器解决方案&#xff1a;ParsecVDisplay完整使用指南 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd ParsecVDisplay是一个基于Parsec虚拟显示驱动(VDD)的独立应用程序…...

终极指南:5步掌握Cursor AI Pro完整功能免费解锁技巧

终极指南&#xff1a;5步掌握Cursor AI Pro完整功能免费解锁技巧 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tria…...

从配置到运行时:Forge Admin 的动态 API 配置管理是怎么做的

问题&#xff1a;同一个接口&#xff0c;今天要加认证、明天要加加密、后天要限流&#xff0c;这些行为散落在拦截器、过滤器、注解里&#xff0c;改一次牵一发动全身&#xff0c;怎么集中管理和动态刷新&#xff1f; 1. 这个问题在企业后台里为什么常见 在企业后台开发中&am…...

ESP32搭建TFT_LCD中文字库,附常用字库

&#xff08;一&#xff09;简介 在使用ESP32的时候&#xff0c;我们知道OLED屏幕是有中文库的&#xff0c;里面有非常多的常用字&#xff0c;但是LCD屏幕只有取模才能得到中文字体&#xff0c;那我们本期教程就来教大家如何搭建自己的字体库&#xff0c;使用中文字体更加方便快…...