摘要: AI 编程助手有一个天然短板:每次会话都是"失忆"的。你昨天告诉它的编码规范、上周纠正过的错误习惯、项目里那些约定俗成的坑,新开一个会话就得重新解释一遍。 Claude Code 用一套分层的记忆系统来解决这个问题。这套系统由两大部分组成:你写给 Claude 的指令记忆(CLAUDE.md 体系) 阅读全文
posted @ 2026-07-15 07:50 无风听海 阅读(11) 评论(0) 推荐(0)
摘要: 01 它不是 README,是常驻上下文 Claude Code 的每个会话都是从零开始的:模型不记得上一次对话,也不认识你的仓库。它对项目的全部「先验知识」,来自会话启动那一刻被自动注入上下文的一组 Markdown 文件——这就是 CLAUDE.md,官方文档称之为 memory(记忆)机制。 阅读全文
posted @ 2026-07-14 08:02 无风听海 阅读(10) 评论(0) 推荐(0)
摘要: 01 它不只是偏好文件 大多数人第一次接触 settings.json,是因为想改个主题或换个模型。文件看起来也确实无害: { "model": "opus", "theme": "dark" } 但翻开完整的 JSON Schema 会发现,这个文件有一百多个顶层键,覆盖的范围远超「偏好」:哪些命 阅读全文
posted @ 2026-07-14 08:00 无风听海 阅读(20) 评论(0) 推荐(0)
摘要: 几乎所有的密码学安全机制,最终都建立在一个看似简单的东西之上——不可预测的随机数。密钥要随机,会话 token 要随机,盐(salt)、初始化向量(IV)、一次性随机数(nonce)都要随机。一旦这个地基出了问题,上层再精妙的算法也会瞬间崩塌。 历史上不乏这样的教训:某些系统因为用错了随机数生成器, 阅读全文
posted @ 2026-07-08 08:17 无风听海 阅读(15) 评论(0) 推荐(0)
摘要: 一、三兄弟:一个被忽视的选择 .NET 提供了三种把字符串转小写的方式,它们的代码差异微乎其微,行为差异却可能是灾难性的: string s = "Hello World İ"; string a = s.ToLower(); // 用当前线程文化(CurrentCulture) string b 阅读全文
posted @ 2026-07-08 08:12 无风听海 阅读(6) 评论(0) 推荐(0)
摘要: ID Token 是 OIDC(OpenID Connect)区别于纯 OAuth 2.0 的核心产物。OAuth 2.0 关心的是"授权"——给你一把能开门的钥匙;OIDC 关心的是"认证"——告诉 RP(Relying Party,依赖方)“这个人到底是谁”。而这个"告诉"的动作要可信,就必须依 阅读全文
posted @ 2026-06-24 09:07 无风听海 阅读(17) 评论(0) 推荐(0)
摘要: 一、定位:最古老也最被误解的认证机制 HTTP Basic 认证(Basic Authentication,基本认证)是 HTTP 协议内置的、最早的访问控制机制之一。它的全部魅力和全部风险都源于同一个词——简单。一次请求、一个头部字段、一段 Base64 编码,就构成了完整的认证交互。正因为简单到 阅读全文
posted @ 2026-06-24 09:05 无风听海 阅读(19) 评论(0) 推荐(0)
摘要: 一、问题的起点:HSTS 改变了开发调试的规则 平时在本地用自签名证书时,浏览器会弹出一个红色警告页,我们习惯性地点一下"继续前往(不安全)"就进去了。这种"凑合能用"的状态,在启用 HSTS(HTTP Strict Transport Security,HTTP 严格传输安全)之后会彻底失效。 原 阅读全文
posted @ 2026-06-10 07:50 无风听海 阅读(25) 评论(0) 推荐(0)
摘要: 当一个 SaaS 产品从服务单一组织走向服务成百上千个企业客户时,身份认证会从「我有一个登录系统」演变成一个远更复杂的命题:每个企业客户都带着自己的身份系统进来,要求员工用公司账号登录你的产品。 字节的员工走字节的 Azure AD,某银行的员工走银行自建的 OIDC,小客户可能直接用 Google 阅读全文
posted @ 2026-06-08 08:38 无风听海 阅读(21) 评论(0) 推荐(0)
摘要: 在现代身份认证体系中,OpenID Connect(OIDC,构建于 OAuth 2.0 之上的身份层)已成为联合登录的事实标准。当一个客户端要接入身份提供方时,最优雅的方式不是把一堆端点地址硬编码进配置文件,而是只告诉它一个地址——issuer,剩下的全部自动发现。这背后的核心机制,就是 Disc 阅读全文
posted @ 2026-06-06 09:57 无风听海 阅读(50) 评论(0) 推荐(0)
摘要: 一、id_token 是什么,以及它解决的问题 OIDC(OpenID Connect)在 OAuth 2.0 之上构建了一层身份认证能力。OAuth 2.0 本身只解决授权(authorization)——它告诉资源服务器"这个 access_token 持有者被允许访问某些资源",但它从不保证" 阅读全文
posted @ 2026-06-06 09:07 无风听海 阅读(34) 评论(0) 推荐(0)
摘要: Cookie 是 Web 开发中最基础也最容易被误解的机制之一。很多开发者会用 Request.Cookies["name"] 读值、用 Response.Cookies.Append(...) 写值,却说不清三件事:为什么请求侧读不到 Cookie 的属性?敏感 数据 放进 Cookie 该如何加 阅读全文
posted @ 2026-06-04 05:25 无风听海 阅读(14) 评论(0) 推荐(0)
摘要: I have enough to write comprehensive coverage. Let me fetch the Minimal API Results.Redirect details and the open-redirect page for completeness.I now 阅读全文
posted @ 2026-06-04 05:23 无风听海 阅读(18) 评论(0) 推荐(0)
摘要: 1. 背景:PKCE 为何存在 PKCE(Proof Key for Code Exchange,发音 “pixie”,定义于 RFC 7636)是对 OAuth 2.0(Open Authorization 2.0)授权码流程(Authorization Code Flow)的安全增强机制。它最初 阅读全文
posted @ 2026-06-03 08:46 无风听海 阅读(33) 评论(0) 推荐(0)
摘要: 一、Scope 是什么 Scope(权限范围)是 OAuth 2.0(Open Authorization 2.0)授权框架中用于限定访问令牌(Access Token)权限边界的机制。它回答的核心问题不是"你是谁",而是"这个令牌被允许做什么"。 OAuth 2.0 的核心思想是「最小权限授权」: 阅读全文
posted @ 2026-06-03 08:45 无风听海 阅读(37) 评论(0) 推荐(0)
摘要: 一、定位:它解决什么问题 IndexedDB 是浏览器内置的、唯一面向大规模结构化数据、支持事务与索引查询的客户端存储方案。把它和其他方案并列,定位立刻清晰: 维度 Cookie localStorage IndexedDB 容量 ~4 KB ~5–10 MB 磁盘配额的数百 MB ~ 数 GB 数 阅读全文
posted @ 2026-06-02 18:34 无风听海 阅读(36) 评论(0) 推荐(0)
摘要: HttpContext 把一次 HTTP 交互拆成了两个层面:Request 描述「这一次请求」,而 Connection 描述「承载这次请求的那条底层通道」。这条分界线看似简单,却牵扯出一连串容易踩坑的语义问题——真实客户端 IP 到底从哪来、请求该怎么唯一标识、mTLS 为什么在 HTTP/2 阅读全文
posted @ 2026-06-02 18:33 无风听海 阅读(18) 评论(0) 推荐(0)
摘要: 一、HTTP 400 的语义定位 HTTP 400 Bad Request 由 RFC 9110 定义,语义是:服务端因请求自身的语法或语义错误,拒绝处理本次请求。关键在于"错误来自客户端",与 5xx 的"服务端出错"严格区分。 在 API 设计实践中,400 承担多种具体场景: 场景 推荐状态码 阅读全文
posted @ 2026-06-01 22:05 无风听海 阅读(16) 评论(0) 推荐(0)
摘要: 前言 JavaScript 的异步编程经历了三个时代:回调函数(Callback)、 Promise 、async/await。三者并非相互替代,而是层层构建在同一套运行时基础之上。要真正掌握 async/await,必须先理解 Promise;要真正理解 Promise,必须先理解 JavaScr 阅读全文
posted @ 2026-06-01 22:04 无风听海 阅读(18) 评论(0) 推荐(0)
摘要: JWT(JSON Web Token)是现代 Web 应用中最广泛使用的身份验证与信息交换标准之一。本文从原理到实践,系统性地介绍 JWT 的方方面面。 一、什么是 JWT? JWT(JSON Web Token)是一种开放标准(RFC 7519),定义了一种紧凑且自包含的方式,以 JSON 对象的 阅读全文
posted @ 2026-05-31 07:07 无风听海 阅读(359) 评论(0) 推荐(0)
摘要: 一、背景:SOP 与 CORS 的关系 理解 CORS 之前,必须先理解它试图解决的问题从哪里来。 1.1 SOP(Same-Origin Policy,同源策略) 浏览器内置了一条基础安全规则:来自 A 站的 JS 代码,不能读取 B 站返回的响应内容。 这条规则叫做同源策略。 "同源"要求协议、 阅读全文
posted @ 2026-05-31 07:01 无风听海 阅读(20) 评论(0) 推荐(0)
摘要: 前言 认证系统是 Web 应用安全的核心边界。然而在实践中,许多团队对 OAuth 2.0 的实现只停留在"能用"的层面——把 Token 存进 localStorage,用一个固定的 Refresh Token 静默续期,然后默默祈祷没有攻击者盯上自己的用户。 这种做法在安全审计中几乎无法通过。 阅读全文
posted @ 2026-05-30 08:14 无风听海 阅读(47) 评论(0) 推荐(0)
摘要: 引言:一场发布会,一个新坐标 2026年5月25日,上海。在 IEEE(电气电子工程师学会)国际电路与系统研讨会上, 华为 公司董事、半导体业务部总裁何庭波走上台,发表了一篇题为《半导体新路径探索与实践》的主旨演讲。 演讲的核心只有一件事:正式提出"韬(τ)定律"。 这是中国企业第一次在全球半导体领 阅读全文
posted @ 2026-05-30 08:13 无风听海 阅读(54) 评论(0) 推荐(0)
摘要: 一、客户端存储全景 在深入任何单一 API 之前,先建立整体视图。浏览器提供了多种客户端存储机制,各有不同的设计定位: 特性 Cookie sessionStorage localStorage IndexedDB 生命周期 可设过期时间 标签页关闭即清除 永久(手动清除) 永久 存储上限 ~4 K 阅读全文
posted @ 2026-05-29 08:39 无风听海 阅读(49) 评论(0) 推荐(0)
摘要: 一、同源策略(SOP):一切的起点 1.1 什么是同源 浏览器用协议 + 主机 + 端口三元组定义"源"( Origin ): URL 与 https://app.example.com 的关系 https://app.example.com/page ✅ 同源 http://app.example 阅读全文
posted @ 2026-05-28 08:06 无风听海 阅读(38) 评论(0) 推荐(0)
摘要: 一、先建立正确的心智模型 1.1 Cookie 的归属 Cookie 永远属于设置它的那个 host,与请求的目标或来源无关。 服务器 app.example.com 响应头: Set-Cookie: session=abc; Path=/ → 浏览器存储: { name: "session", v 阅读全文
posted @ 2026-05-28 08:03 无风听海 阅读(38) 评论(0) 推荐(0)
摘要: 一、背景 现代 Web 应用中,用户往往同时打开多个标签页。一个常见困境是: 标签页 A 完成登录,标签页 B 仍显示未登录 标签页 A 修改了购物车,标签页 B 数量没有更新 标签页 A 切换了深色模式,其他标签页毫无反应 传统解法要么依赖轮询 localStorage,要么借助 WebSocke 阅读全文
posted @ 2026-05-27 07:55 无风听海 阅读(44) 评论(0) 推荐(0)
摘要: 一、为什么需要 Web Worker? JavaScript 是单线程语言。浏览器中,所谓的"主线程"同时负责: 解析与执行 JS 代码 处理 DOM 操作与事件 页面布局与渲染(Layout / Paint) 这意味着,一旦你在主线程上执行耗时计算,渲染管线就会被阻塞,用户会看到页面"卡死"——按 阅读全文
posted @ 2026-05-27 07:53 无风听海 阅读(31) 评论(0) 推荐(0)
摘要: 1. 从 HTTP 的无状态性说起 HTTP 协议本质上是无状态的,每次请求都是独立的消息,服务端默认不保留任何上下文。要在多次请求之间维持用户状态,本质上只有两条路: 把数据放在客户端(Cookie 自包含数据),或把数据放在服务端(客户端只持有一个 ID)。 ASP.NET Core 的 Ses 阅读全文
posted @ 2026-05-25 07:21 无风听海 阅读(20) 评论(0) 推荐(0)
摘要: 前言 身份验证(Authentication)与授权(Authorization)是每一个 Web 应用的安全基础。自 .NET Framework 4.5 起,微软将 WIF(Windows Identity Foundation)全面整合进 .NET,引入了以 Claim 为核心的现代身份体系。 阅读全文
posted @ 2026-05-25 07:19 无风听海 阅读(15) 评论(0) 推荐(0)