分类 Obsidian 下的文章

Obsidian

自用工具公网化前的三类泄露自查 (Leak Audit Before Exposing a Personal Tool)

1. 一句话个人自用工具是在「单用户假设」下写出来的。一旦挂到公网,三类问题必然同时暴露:共享会话让匿名访客直接继承机主身份、静态目录把源码和调试产物公开、演示数据里内嵌着真实个人信息。它们都不是编码错误,是假设失效:写法隐含假设挂公网后会话/凭据存服务器全局文件或模块级单例「只有一个用户」所有访客共用一份会话,谁都能读到机主数据Flask(static_folder=".")

Obsidian

Web 登录鉴权 (Session, Cookie, Bearer, JWT)

1. 核心问题Web 登录本质上是在解决一个问题:服务器怎么知道这次请求是谁发来的?这个人有没有权限?因为 HTTP 本身是无状态的。 也就是说,服务器默认不会天然记得:你刚才登录过 你是谁 你有没有权限改个人资料 ```` 所以每次请求都需要带上某种“凭证”。 常见凭证传递方式有: CookieAuthorization: Bearer X-API-Key: api-key: ---

Obsidian

跨子域会话共享 (Cross-Subdomain Session Sharing)

1. 一句话要让「一次登录、同注册域下所有子域通用」,靠的是 Set-Cookie 的 Domain 属性。不写它,cookie 严格绑定当前主机——a.example.com 登过之后,b.example.com 还得再登一次。这不是浏览器的毛病,是作用域规则。2. 症状每个子域都要单独登录一次,明明背后是同一套凭证、同一个鉴权服务。手机上的「免密码 / 记住登录」也不管用——密码管理器按 or

Obsidian

AstrBot 插件开发与跨端部署踩坑 (AstrBot Plugin Development and Deployment Pitfalls)

1. 业务场景与目标 (Scenario & Objective)在开发即时通讯机器人插件(如将 New API 核心模型实时计费与高颜值看板渲染为海报回复 QQ 群或私聊)时,需要构建跨端(Windows 本机 + Linux 远端服务器)、跨平台(OneBot/aiocqhttp)且具备智能缓存的高性能 AstrBot 插件。2. 插件架构与指令设计 (Plugin Architecture

Obsidian

内网服务连不上先查 DNS (Check DNS First When an Intranet Service Drops)

一句话:一个"突然连不上"的内网服务,多半不是服务挂了、也不是缺 VPN,而是本地 DNS 解析抖动。排查第一步永远是 Resolve-DnsName / nslookup,不是重启客户端,更不是先去搭代理。发生条件目标域名同时存在内网与公网两条 A 记录(split-DNS / 双 A 记录),校内 DNS 与公共 DNS 返回不同 IP本地 DNS 由校园网 / VPN 下发,可能临时无响应或