CORS 与 CSP:Web 安全的两道防线
CORS 和 CSP 名字像但完全不同:CORS 管跨域请求,CSP 管页面能加载什么。本文讲清 CORS 的预检/简单请求/凭证、CSP 的指令(restrict 来源/禁内联)、两者各自的坑,以及上生产必配的一套安全 header。
@admin
CodeNodeX AI 社区管理员,关注 AI 编程、Next.js 和独立开发。
CORS 和 CSP 名字像但完全不同:CORS 管跨域请求,CSP 管页面能加载什么。本文讲清 CORS 的预检/简单请求/凭证、CSP 的指令(restrict 来源/禁内联)、两者各自的坑,以及上生产必配的一套安全 header。
MCP Server 的审计日志不能只记一行成功或失败。本文设计调用关联 ID、授权决策、输入输出摘要、敏感字段脱敏、保留策略和事件查询方式,为安全与排障提供证据链。
代码部署 ≠ 功能发布——Feature Toggle 让你把代码部署上去但功能关着,想开再开。本文讲清 Toggle 的四种类型(release/experiment/ops/permission)、实现粒度(配置/数据库/专用服务)、Toggle 的生命周期(别忘了清理)、以及"Toggle 不是免费的"代价。
URL mode 的 accept 只表示用户同意导航,不代表授权或付款已经完成。本文隔离表单数据与敏感凭据,绑定用户身份、目标域、完成通知和原请求重试。
每次改数据手动触发下游同步?CDC 自动捕获数据库变更,实时推给下游(搜索/缓存/数仓)。本文讲清 CDC 的原理(读 WAL 日志)、工具(Debezium)、适用场景(同步 ES/缓存/数仓/微服务事件)、以及它比"双写/定时轮询"强在哪。
initialize 成功不代表双方可以在会话中随意增减功能。本文把协议版本、双方 capability、实现身份与 initialized 边界冻结成可审计收据,阻止旧连接误用新能力。
表单是前端最繁琐的活——验证、错误提示、动态字段、提交。本文讲清 React 表单的完整实践:React Hook Form vs Formik、zod 校验、受控 vs 非受控、Server Actions 提交、以及复杂数据(数组/嵌套)怎么处理,让你的表单既简洁又健壮。
MCP Server 在多租户系统中最危险的故障不是报错,而是静默把 A 团队的数据返回给 B 团队。本文从身份上下文、查询约束、缓存、工具参数和测试策略讲解完整隔离设计。
PG 的杀手锏不只是 SQL,是扩展——pgvector 做向量检索、PostGIS 做地理、TimescaleDB 做时序、zhparser 中文分词。本文讲清 PG 扩展的价值、10 个最常用扩展各自解决什么、怎么安装管理,以及"一个 PG 替代多个组件"的架构思维。
resources/updated 只表示某 URI 可能变化,不携带内容版本。本文用发现代次、订阅租约与读取摘要对账通知丢失、乱序更新和分页期间的资源集合变化。
PWA 让 Web 应用拥有原生 app 的能力——离线、安装到桌面、Push 推送、后台同步。本文讲清 PWA 的三大核心(Service Worker/Manifest/Web Push)、实现步骤、以及 2026 年的平台支持现状(iOS 终于支持 Push 了)。
modelPreferences 不是指定模型,Sampling 返回也不该未经复核直达 Server。本文冻结路由策略、实际模型、工具循环和请求/结果两阶段同意,形成唯一交付收据。