如何使用 Burp Suite 验证 SQL 注入漏洞

用 Burp Suite 验证 SQL 注入,关键不在“跑没跑扫描器”,而在能否通过 Repeater 和 Intruder 把响应差异抓实。本文按手工确认注入点、区分 Union 与盲注、批量跑布尔盲注、理解 Scanner 漏报四步展开,帮助你判断漏洞是否真实、属于哪一类、后续该怎么验证。

如何使用 Burp Suite 验证 SQL 注入漏洞

SQL Server 存储过程中如何合并多行字符串

在 SQL Server 2017 及以上版本里,存储过程要把多行文本稳定合并成一个字符串,核心做法是使用 `STRING_AGG`,并明确写出 `WITHIN GROUP (ORDER BY ...)`。真正容易出错的地方不在语法本身,而在排序、`NULL` 处理、去重以及空结果组返回值这几个细节上。

SQL Server 存储过程中如何合并多行字符串

Scala 里 groupBy 与 sorted 怎么用:分组、排序与选型一次讲清

这篇文章把 Scala 集合里最常用的分组与排序方法拆开说明:`groupBy` 适合按规则聚类并继续统计,`sorted`、`sortBy`、`sortWith` 则分别对应默认排序、按字段排序和自定义规则排序。文中保留原始示例代码,并补上 `groupBy` 与 `partition` 的返回值差异,便于在 Spark/Flink 场景里快速选型。

Scala 里 groupBy 与 sorted 怎么用:分组、排序与选型一次讲清

如何解决 SQL 日期边界导致的数据遗漏?

按日期筛选数据时,`BETWEEN` 常因隐式转换把右边界变成当天 `00:00:00`,导致最后一天的数据被漏掉。本文用订单、日志等常见场景说明问题根源,并给出更稳妥的左闭右开写法、动态边界生成方式,以及字符串日期字段的处理建议。

如何解决 SQL 日期边界导致的数据遗漏?

Go 切片避坑:nil 切片和空切片到底差在哪

Go 里的 nil 切片和空切片打印出来都像 `[]`,但它们在底层指针、`nil` 比较、内存分配和 JSON 序列化上的表现并不一样。本文从切片结构入手,用代码和常见业务场景把两者的差异讲清,并给出判断空值、接口返回和序列化转换时更稳妥的写法。

Go 切片避坑:nil 切片和空切片到底差在哪

SQL 窗口函数怎么实现游标分页?

窗口函数适合给结果集编号,却不能承担游标分页的“从上一条继续取”的职责。本文拆开常见误区、正确 SQL 写法、窗口函数在分页中的辅助用法,以及 PostgreSQL、MySQL、SQLite、SQL Server 的实现差异。 很多 SQL 教程会把“窗口函数编号”和“游标分页”混在一起,结果写出来的语句不是直接报错,就是翻页时重复、漏数。

SQL 窗口函数怎么实现游标分页?

8051 单片机矩阵键盘控制实战:4x4 扫描、8255 配置与 LED 显示

本文围绕一个 8051 + 8255 的 4x4 矩阵键盘实例,梳理端口分配、扫描逻辑和 LED 显示流程。你可以据此看清 `COM8255=0x81` 的配置含义、`keyscan` 的逐行译码方式,以及程序为何能把按键结果实时显示到数码管。 在 8051 单片机实验里,矩阵键盘和 LED 显示经常一起出现,但很多教程只贴代码,没有把 8255 的端口分工和扫描逻辑讲透。

8051 单片机矩阵键盘控制实战:4x4 扫描、8255 配置与 LED 显示

C# 条件与判断入门:if、else if 与 switch 怎么用

本文用一组入门示例梳理 C# 中最常见的条件判断写法,包括 `if`、`else if`、嵌套 `if` 与 `switch`。重点不只在语法,还会说明它们各自适合解决什么问题,帮助你在多分支逻辑里更快选对写法。 在 C# 里,条件判断几乎出现在所有基础业务逻辑中,但很多初学者刚接触时容易把 if 、 else if 、嵌套 if 和 switch 混着用。

C# 条件与判断入门:if、else if 与 switch 怎么用