Redis 数据类型全解 - Hash 还是 JSON?一文终结存储选型之争(三)
在 Redis 做业务对象缓存时,几乎所有开发者都会面临这个经典抉择:Hash:HSET user:1001 name "张三" age 28,将对象扁平拆分为 field-value;String+JSON:SET user:1001 '{"name":"张三","age":2
你们项目的 Token 过期是直接踢人吗?
上周对接一个前端团队,他们说每次 Token 一过期,用户就被踢回登录页重新输账号密码,体验极差。问我有没有办法无感刷新,用户根本不知道 Token 换过。JWT 认证在前后端分离项目里几乎是标配,但很多人只做到了"能登录",过期处理这块一塌糊涂。
Claude意外揪出Mac挖矿木马:12个CPU核心被占满 温度飙至112摄氏度
一名使用Anthropic旗下Claude辅助开发软件的Mac用户,近日意外发现自己的电脑长期遭受加密货币挖矿恶意程序感染。令人意外的是,问题并非通过杀毒软件首先发现,而是在AI协助开发温度监测工具的过程中被主动识别出来。
Redis分布式锁实战:误删和锁续期一次讲透
两个线程同时扣库存,扣着扣着就扣成了负数。你加上 synchronized,一台机器上跑得好好的,服务一扩到三台,超卖又回来了——因为 synchronized 只管自己这个 JVM 里的线程,管不了隔壁机器。
ASP.NET Core 里的 IDOR 防护:登录不等于授权,资源必须逐个校验
IDOR 指 Insecure Direct Object Reference,也就是不安全的直接对象引用。它常见到令人惊讶:用户已经登录,接口也要求认证,但资源 ID 来自 URL 或请求体,后端只按 ID 查数据,没有确认这个用户是否有权访问该资源。
C# 分布式锁:用 Redis 实现跨进程互斥
单机时用 lock 就够了。但服务一旦多副本部署,问题就来了:两个实例同时跑定时任务,同一批订单被处理了两遍。因为 lock 只在自己进程里生效。分布式锁就是解决这个的 —— 让"抢锁"这件事发生在所有实例都能看到的地方。
Spring Boot 拦截器 vs 过滤器这5个坑,登录校验到底写哪个?
接手一个新项目,登录校验有的写在 Filter 里、有的写在 Interceptor 里、还有的直接在 Controller 里硬编码。
少一层仓储,多一点真实:EF Core 查询别再被过度包装
这篇文章继续挑战 .NET 项目里常见的 Repository Pattern。它的观点和前面那篇“删除 Repository Pattern”相近,但角度更直接:EF Core 本身已经提供了很强的查询抽象,为什么还要再创建一层低配仓储接口?
能力圈与反演:权限不归模型
能力圈与反演:智能体权限不能交给模型自己判断记忆给的是意图证据,不是授权证据,一字之差就是一次越权。
Token 过期直接弹登录框,这体验老板迟早骂你
用户正在填一个复杂的表单,切出去接了个电话,回来一点提交——弹出登录框,刚才填的 20 个字段全没了。Token 过期直接踢人,技术上说得通,体验上简直是灾难。用双 Token 机制做无感刷新,用户完全感知不到认证过程,这才是及格线。