程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
软件定制开发/软件按需定制 技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
同一个 out_trade_no 第二次下单:支付宝四个错误码怎么分诊、怎么收尾
代码
同一个 out_trade_no 第二次下单:支付宝四个错误码怎么分诊、怎么收尾
2026-11-02 09:01:14
同一笔单号第二次下单为什么报错不一样:按支付宝 trade_status 分诊——WAIT_BUYER_PAY 可复用(参数不变、同一付款人)、TRADE_SUCCESS/TRADE_FINISHED 报 ALIN42279 或 ACQ.TRADE_HAS_SUCCESS、TRADE_CLOSED 报 ALIN42280 或 ACQ.TRADE_HAS_CLOSE、改了金额标题报 CONTEXT_INCONSISTENT。附订单号生成规则、24 小时撤销边界、退款 out_request_no 换号、SYSTEM_ERROR 只查询不判失败,以及 Go 收口代码。
支付宝
out_trade_no
支付接口对接
错误码
订单号复用
幂等
双击 Submit 插了两行:一次性 token、幂等键、CSRF 各挡哪种重复
编程
双击 Submit 插了两行:一次性 token、幂等键、CSRF 各挡哪种重复
2026-11-02 00:04:38
CSRF token 是 per-session 的稳定值,连续提交两次都通过;Idempotency-Key 是 header,裸表单浏览器不会带。所以只有 CSRF 的表单双击照样插两行。这篇把一次性提交 token 的 Mint/Scan/Consume 三步写成可跑的 Go 代码,并给出四个判据层面的错误:SETNX+EXPIRE 非原子、select+delete 校验 token 有并发窗口、指纹模式误杀相同内容的合法提交、以及用 429 回应重复提交等于叫客户端退避重试。
重复提交
表单防重
幂等
Redis
Go
HTTP
静态脱敏要保持关联:ID 单独哈希会把外键打断,改用映射表 + 同偏移日期
编程
静态脱敏要保持关联:ID 单独哈希会把外键打断,改用映射表 + 同偏移日期
2026-11-02 00:04:38
静态脱敏后测试库「看着像、用不了」的根因是列各自随机:外键指向不存在的行、唯一索引撞车、时序与分布全乱。笔记给出用 HMAC 做确定性映射 + 映射表的具体写法,逐个说明碰撞、0 值主键、日期整体平移、枚举只保分布、映射表即还原钥匙五个坑,附四条验收 SQL 与适用边界。
脱敏策略
静态脱敏
数据脱敏
数据库安全
HMAC
测试数据
运维
动态脱敏
Intl.NumberFormat 不解析:19 位金额串、min2 分组与 -0 的三种显示
编程
Intl.NumberFormat 不解析:19 位金额串、min2 分组与 -0 的三种显示
2026-11-02 00:04:30
Intl.NumberFormat 只格式化不解析,三处容易踩的地方:JSON 金额是字符串时先 parseFloat 会把 19 位数字末位抹成 0(v3 起字符串按十进制精确解析,BigInt 分单位可加 E-6 直传);useGrouping 的 'min2' 让 1000 不分组、10000 才分组,字符串 'true'/'false' 会被静默替换成默认值;signDisplay 五个取值对负零的显示从 "-0" 到 "+0" 各不相同。另附 formatToParts 反解本地化数字的写法与 round-trip 校验。
Intl.NumberFormat
Intl
i18n
国际化
JavaScript
前端
Go 的 sql.Stmt 与连接池:为什么句柄数约等于连接数乘 SQL 文本数
编程
Go 的 sql.Stmt 与连接池:为什么句柄数约等于连接数乘 SQL 文本数
2026-11-02 00:04:17
Com_stmt_prepare 一直涨、句柄数约等于连接数乘 SQL 文本数,多半不是代码反复 Prepare,而是 DB 级 sql.Stmt 在每条连接上各准备一份。讲清 css 记录机制、interpolateParams 的真实作用域(只影响隐式路径)、Tx.Stmt 反模式,以及先收敛 SQL 文本再调连接池的处置顺序。
prepared
statement
Go
database
sql
MySQL
KingbaseES 动态脱敏:anon.add_policy 只认表.列,视图配不了、CTAS 会把脱敏值落库
编程
KingbaseES 动态脱敏:anon.add_policy 只认表.列,视图配不了、CTAS 会把脱敏值落库
2026-11-02 00:03:57
KingbaseES v9.4.12 的 sys_anon 动态脱敏落地笔记:插件预加载与扩展创建、add_policy 五个参数逐个说明、default/partial/random 三类函数的实际输出,以及手册条目对应的现场后果——视图不能配策略、脱敏表上的物化视图刷不动、分区表只能挂主表、username 置空等于全用户脱敏、CTAS 落盘脱敏值不可还原、MERGE INTO 直接失败、触发器可绕过。附可复现验证 SQL 与八步排查顺序。
脱敏策略
KingbaseES
动态脱敏
数据脱敏
数据库安全
sys_anon
运维
Connector/J 预处理没走服务端:useServerPrepStmts 默认 false,缓存上限 25/256 怎么改
编程
Connector/J 预处理没走服务端:useServerPrepStmts 默认 false,缓存上限 25/256 怎么改
2026-11-02 00:03:53
general_log 里只有 Query 没有 Prepare、Com_stmt_prepare 不涨?多半是 Connector/J 的四个默认值:useServerPrepStmts=false、cachePrepStmts=false、prepStmtCacheSize=25、prepStmtCacheSqlLimit=256。给判据、互斥关系、useCursorFetch 隐式覆盖与验证步骤。
MySQL
preparedstatement
JDBC
Connector
J
Java
statement
mise v2026.10.15:24 小时冷却覆盖所有后端,pin 最新版会解析成 no versions found
编程
mise v2026.10.15:24 小时冷却覆盖所有后端,pin 最新版会解析成 no versions found
2026-11-01 21:32:29
mise v2026.10.15 把默认 24 小时 minimum_release_age 冷却从部分后端扩到全部后端,版本只发布不到 24 小时会解析成 no versions found;另附分钟级配置开关、版本列表改走 mise-versions 主机对自定义源的影响、read_json/read_yaml/read_toml 模板函数与 PowerShell 安装器。
mise
开发工具
版本管理
CI
dotfiles
Go
SILO 20261026 升级笔记:多池删除改成先清旧副本,跨站复制不再 BadDigest,也不能滚动降级
综合
SILO 20261026 升级笔记:多池删除改成先清旧副本,跨站复制不再 BadDigest,也不能滚动降级
2026-11-01 21:31:39
SILO(MinIO fork)20261026 版把多池删除改成先清非权威池再删权威副本,版本桶生命周期只加删除标记时保留远端分层数据,复合 CRC 分片复制透传 FULL_OBJECT 避免 BadDigest;附 mcli 新 pending 状态与退出码语义、升级顺序与一致性边界。
对象存储
S3
MinIO
SILO
运维
Go
Vue Router 5.4.0:hash 不再解码,重定向不再继承 params/query/hash
编程
Vue Router 5.4.0:hash 不再解码,重定向不再继承 params/query/hash
2026-11-01 21:08:00
Vue Router 5.4.0 的几处默认行为变化会直接打断现有代码:hash 段不再解码、只做保护性编码;重定向不再隐式继承 params/query/hash;带默认值的 query 参数 push 时可省略,required 与 default 不能并存;滚动恢复默认行为有变。附逐条自查清单。
Vue
前端
路由
升级
Docker Engine 29.9.x 行为修复笔记:容器起不来、ps -s 全挂与 fluentd panic
编程
Docker Engine 29.9.x 行为修复笔记:容器起不来、ps -s 全挂与 fluentd panic
2026-11-01 21:07:18
Docker Engine 29.9.1 修掉几条在现场很难归因的行为:--link-local-ip 收下非 link-local 地址导致容器起不来、一个容器大小算不出让 docker ps -s 整条失败、fluentd 日志驱动 TLS 加 async 触发 daemon panic、bridge 绑到非 docker firewalld zone 后重启不恢复、rootless 下 --domainname 失效。每条附判断命令。
Docker
容器
运维
排错
Redis 集群 bus 端口默认没有认证:8.4.7 的告警开关与 8.4.8 的 4GB PUBLISH 溢出
编程
Redis 集群 bus 端口默认没有认证:8.4.7 的告警开关与 8.4.8 的 4GB PUBLISH 溢出
2026-11-01 21:05:52
Redis Cluster 的 bus 端口默认既无 TLS 也无其它认证,8.4.7 起节点启动会告警,并新增 cluster-bus-port-protected-mode;开了严格模式却没开 tls-cluster 会直接拒绝启动。另含 8.4.8 的 >4GB PUBLISH 堆溢出修复、8.4.6 的 ACL key 绕过与滚动升级顺序。
Redis
集群
运维
安全加固
Go 1.28 将拒绝 string(int):规则边界、go.mod 生效点与 go fix 顺序
编程
Go 1.28 将拒绝 string(int):规则边界、go.mod 生效点与 go fix 顺序
2026-11-01 21:05:43
Go 1.28 起 string(int) 只在基底类型为 rune/byte 或未类型化 rune 常量时允许,其余按 go.mod 的 go 指令拒绝编译。讲清规则边界、为什么这个转换反直觉、go vet 的 stringintconv 能提前发现,以及两种 go fix 方案的语义差异与「先 fix 再改 go 指令」的顺序。
Go
语言特性
迁移
Nginx UI 六个 CVE 同一根因:AuthRequired 只验 JWT,不验会话从哪来
资讯
Nginx UI 六个 CVE 同一根因:AuthRequired 只验 JWT,不验会话从哪来
2026-11-01 21:04:24
Nginx UI 2.5.0 一次修掉六个高危 CVE(passkey 账号 2FA 被绕过、CSRF、备份软链注入、node token 跨节点、陈旧 JWT 提权、升级包 digest),根因都是 AuthRequired 只验 JWT、不校验 RequireSecureSession。附代码片段、PoC 响应、升级与加固清单。
Nginx
安全
运维
认证
golang.org/x/net v0.62.0 修的两个 html 漏洞:文本节点合并的 O(n²) 与 raw text 渲染的命名空间判断
资讯
golang.org/x/net v0.62.0 修的两个 html 漏洞:文本节点合并的 O(n²) 与 raw text 渲染的命名空间判断
2026-11-01 21:03:15
golang.org/x/net v0.62.0 修了两个 html 包漏洞:文本节点合并时用字符串拼接导致 O(n²) 分配(CVE-2026-78661),以及 raw text 渲染只看最近一层命名空间导致解析往返不一致(CVE-2026-97045)。附 go list -m / govulncheck 自查与升级命令。
Go
安全
html
依赖升级
Vue 3.6 Vapor 在 Nuxt 4.6 只能 interop:开启方式、限制清单与实测数字
编程
Vue 3.6 Vapor 在 Nuxt 4.6 只能 interop:开启方式、限制清单与实测数字
2026-11-01 21:03:15
Vue 3.6 的 Vapor Mode 是可选编译模式,跳过虚拟 DOM;在 Nuxt 4.6 里只能以 interop 形式用,应用根仍留在 VDOM。整理开启配置、Vue 版本要求、Nuxt 文档列出的六条限制($el、Island slot、keyed onPrehydrate、defineNuxtComponent 等)与构建性能数字。
Vue
Nuxt
前端
编译优化
MySQL 8.4.13:漏掉的 OR 分支、gtid_executed 空洞与过期 AHI 条目
编程
MySQL 8.4.13:漏掉的 OR 分支、gtid_executed 空洞与过期 AHI 条目
2026-11-01 21:02:25
MySQL 8.4.13 里几条「语句正常执行、结果却不对」的修复:index_merge_union=off 时 OR 查询漏一个 disjunct 返回空集、XA RECOVER 与 GTID 可见顺序颠倒、binlogless 副本 FLUSH PRIVILEGES 在 gtid_executed 留空洞、过期 AHI 条目让点查读到已 discard 代际。附复现与验证方法。
MySQL
数据库
复制
优化器
Nuxt 4.6.3:修掉三个 dev server 漏洞,外加 dot segment 路径处理
资讯
Nuxt 4.6.3:修掉三个 dev server 漏洞,外加 dot segment 路径处理
2026-11-01 21:01:39
Nuxt 4.6.3 的五个安全修复里,三个落在 Vite dev server 上:错误报告可被用来读文件、dev 输出目录可被访问、dev 下发送自动生成的 app secret;另有请求路径 dot segment 处理与 island 重定向规则。附 GHSA 编号、版本要求与升级自查步骤。
Nuxt
Vue
前端安全
Vite
containerd 2.4.2 补丁说明:三个 CVE、修复版本矩阵与升级后必须手工清理的 checkpoint 挂载
资讯
containerd 2.4.2 补丁说明:三个 CVE、修复版本矩阵与升级后必须手工清理的 checkpoint 挂载
2026-11-01 21:01:39
containerd 2.4.2(2026-10-13)修掉三个漏洞:畸形 manifest digest 打崩 daemon、层数据不限大小写满磁盘、伪造 Content-Length 打崩并行取层;另有 checkpoint restore 失败泄漏 mount 与 pinned snapshot,升级后要手工卸载 /tmp/checkpoint* 才能回收。附修复版本矩阵与优先顺序。
containerd
Kubernetes
容器安全
运维
Nacos 3.3.0 升级笔记:Client API 鉴权默认开启,插件配置 key 集体改名
资讯
Nacos 3.3.0 升级笔记:Client API 鉴权默认开启,插件配置 key 集体改名
2026-11-01 20:03:57
Nacos 3.3.0 把 nacos.core.auth.enabled 的默认值改成 true,依赖默认配置的客户端升级后会鉴权失败;插件配置 key 统一成 nacos.plugin.{pluginType}.{pluginName}.*,且新 key 的空白值也会覆盖旧 key。本文整理完整 key 映射表、A2A 迁移必须设 AUTO、旧导入接口返回 410、Java 17 与 Spring Boot 4.0.6 等升级检查点。
Nacos
Spring
Boot
服务发现
运维
Caddy 2.11.7:修掉 2.11.6 默认超时引发的 panic 与流截断,新增 Incremental 头
资讯
Caddy 2.11.7:修掉 2.11.6 默认超时引发的 panic 与流截断,新增 Incremental 头
2026-11-01 20:02:38
Caddy 2.11.6 为防慢速攻击引入默认 idle 读写超时后,HTTP/2 上代理读完请求体可能出现 nil pointer panic,POST 打开的 SSE 在读完 body 后正好 60 秒被截断,静默 SSE 也会被 write_idle 重置。2.11.7 修掉这三处回归,并加入 RFC 10036 的 Incremental 头替代 nginx 的 X-Accel-Buffering,附升级判断清单。
Caddy
反向代理
SSE
运维
微信支付停发平台证书:自动下载证书的代码先挂,灰度期回调验签还会随机失败
代码
微信支付停发平台证书:自动下载证书的代码先挂,灰度期回调验签还会随机失败
2026-11-01 09:01:39
微信支付停发平台证书后,自动下载证书的服务会撞 RESOURCE_NOT_EXISTS / NOT_ENOUGH;灰度期回调按比例切公钥,用前缀二分验签会随机失败。文内给出证书 210/180/90 天生成规则、回调和应答两条进度条的比例算法,以及 openssl 手工验签命令。
支付接口
微信支付
PHP
ProxySQL 复用被一条 SET @x 永久关掉:GET_LOCK、SQL_CALC_FOUND_ROWS、文本 PREPARE 的复位条件
编程
ProxySQL 复用被一条 SET @x 永久关掉:GET_LOCK、SQL_CALC_FOUND_ROWS、文本 PREPARE 的复位条件
2026-11-01 00:05:58
应用侧几百个连接,ProxySQL 后端连接数也接近 1:1,说明复用等于没开。按"可恢复 / 永久"两类拆开禁用条件:活跃事务与表锁可恢复,而 SET @x、GET_LOCK()、SQL_CALC_FOUND_ROWS、CREATE TEMPORARY TABLE、文本协议 PREPARE 一旦出现就在该连接上永久失效。附 stats_mysql_processlist 的 extended_info 字段定位法、rules.multiplex 与 keep_multiplexing_variables 调优,以及 OFFLINE_SOFT 残留连接陷阱。
ProxySQL
MySQL
数据库代理
连接池
性能调优
运维排错
prepared
客诉工单 SLA 计时的三处实现错误:工作日 deadline、暂存停表、重复告警
编程
客诉工单 SLA 计时的三处实现错误:工作日 deadline、暂存停表、重复告警
2026-11-01 00:05:38
自建客诉工单系统里 SLA 最容易写错的三处:工作日口径不能 created_at 加小时、暂存与退回期间要用暂停区间累减而不是打标记、超时告警要靠 (ticket_id, level) 唯一键幂等。给出 biz_calendar 日历表、ticket_pause 区间表、ticket_alert 告警表结构与对账 SQL,并划清 UTC 存储、不用 NOW()、deadline_at 落列建索引这些边界。
客诉处理
工单系统
MySQL
SLA
运维
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
…
343
下一页
共 343 页
到第
页
确定