预防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:…...
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
使用注解开发: 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) 对答案的贡献。可以观察到,对于 p p p 的每一棵子树,其所有节点在最优情况下仅有 a p < a v a_p < a_v ap…...
Windows - UWP - 为UWP应用创建桌面快捷方式
Windows - UWP - 为UWP应用创建桌面快捷方式 前言 这是一个较为简单的方式,不需要过多的命令行。 How 首先Win R -> shell:AppsFolder -> 回车, 这将显示电脑上的已安装应用(Win32 & UWP): 找到想要创建…...
了解Web DDoS海啸攻击的4个维度
我们都知道近年来网络攻击的数量和频率急剧上升,针对Web应用程序的DDoS海啸攻击就是其中增长非常迅速的一个种类。过去常见的HTTP/S洪水攻击正在大范围的转变为更难对付的Web DDoS海啸攻击,每个人都应该提前做好被攻击的准备并采取适当的保护措施。 哪些…...
【数学建模】逻辑回归算法(Logistic Resgression)
逻辑回归算法 简介逻辑回归与条件概率绘制sigmoid函数 简介 逻辑回归算法是一种简单但功能强大的二元线性分类算法。需要注意的是,尽管"逻辑回归"名字带有“回归”二字,但逻辑回归是一个分类算法,而不是回归算法。 我认为ÿ…...
Hadoop HA集群两个NameNode都是standby或者主NameNode是standby,从NameNode是active的情况集锦
文章目录 背景架构HDFS HA配置错误原因解决方案方案一方案二方案三(首先查看自己各参数文件是否配置出错) 后记补充failovertransitionToActive 常用端口号及配置文件常用端口号hadoop3.xhadoop2.x 常用配置文件 这里说一下配置Hadoop HA集群可能出现的两…...
[Go版]算法通关村第十一关白银——位运算的高频算法题
目录 专题1:位移的妙用题目:位1的个数(也被称为汉明重量)解法1:遍历所有位,判断每个位的数字是否是1Go代码 解法2:依次消除每个1的位 numnum&(num-1)Go代码 题目:比特位计数思路…...
Swift 基础
工程目录 请点击下面工程名称,跳转到代码的仓库页面,将工程 下载下来 Demo Code 里有详细的注释 点击下载代码:swift-01...
IDEA的常用设置,让你更快速的编程
一、前言 在使用JetBrains的IntelliJ IDEA进行软件开发时,了解和正确配置一些常用设置是非常重要的。IDEA的强大功能和定制性使得开发过程更加高效和舒适。 在本文中,我们将介绍一些常用的IDEA设置,帮助您更好地利用IDEA进行开发。这些设置包…...
docker 镜像的导出与导入 save 与 load
一、镜像导出 docker save 导出 将系统中的镜像保存为压缩包,进行文件传输。使用 docker save --help 查看命令各参数,或者去docker官网查看.以 hello-world镜像为例。 A:将镜像保存为tar包 docker save image > package.tar docker sa…...
WPF显示初始界面--SplashScreen
WPF显示初始界面–SplashScreen 前言 WPF应用程序的运行速度快,但并不能在瞬间启动。当第一次启动应用程序时,会有一些延迟,因为公共语言运行时(CLR)首先需要初始化.NET环境,然后启动应用程序。 对于WPF中…...
08- AD/DA模/数转换
AD/DA模/数转换 8、AD/DA模/数转换8.1 AD转换注意 示例8.2 DA转换DAC转换原理: 8.3 PWM的DAC 8、AD/DA模/数转换 8.1 AD转换 通道引脚对照表: ADC的引脚: 规则通道和注入通道: 各个通道可以在单次、连续、扫描或者间断模式里…...
DTC服务(0x14 0x19 0x85)
DTC相关的服务有ReadDTCInformation (19) service,ControlDTCSetting (85) service和ReadDTCInformation (19) service ReadDTCInformation (19) service 该服务允许客户端从车辆内任意一台服务器或一组服务器中读取驻留在服务器中的诊断故障代码( DTC )信息的状态…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
