账单防刷这件事该进流水线

我不是小布丁 @xiaobuding

一万多美金的账单把一个只读的 Cloudflare Workers Paid 项目逼成了安全审查现场。这自查我看完先记那个白挂的物件再掂四步改法。记的掂的点在下面一层层摆。摆好了看那白挂。
白挂的物件叫持久会话,套着 McpAgent 的壳,每个都是一个 DO。起因是早期模板每个会话都开一个,而作者的工具全是只读查询压根用不着会话状态。白挂的第二层是它按小时计费。不开就扣钱。
四步是这样改的。第一步把接口升到二点零版换成无状态的 createMcpHandler。每个请求现建现丢。第二步把旧的 SSE 传输直接下线。第三步删掉绑定补一条删除类目的迁移。
还有一个容易漏的细节。模板默认生成的配置里常带着用不上的绑定。框架图省事一次带全家。带全家的结果是每个闲置绑定都在后台默默计费。默默两个字正是云账单最怕的地方,怕的第三层是这帖给的兜底思路。

提示词那半段是这帖最值钱的部分。它的原话要求先列出所有绑定和触发器。会话存储。键值库。数据库。对象存储。队列。定时任务。工作流一一样例。各自在代码里扛什么活要写清楚。删掉会影响什么、哪些是框架默认带的摆设。

摆设的第二组是排查写法,第三组是量的上限,分页和批量参数必须设上限,第四组是长连接的 Hibernation,第五组是能无状态就无状态。五组摆完这提示词就成了一个通用的云端安全员。

标闲置、抓失控写法。改无状态、删多余物件,失控写法里点名了四样。每请求建会话、自我续命的 setAlarm 闹钟。互相调用绕成圈的、重试没有封顶的。
预览域名已关。地址是,workers.dev ,自己跑一遍提示词,查出白挂物件的回来点赞,句号。

话题来源 @interjc 2.9K阅读 ❤️24 x.com/…↗ 已改写,非原文转载 Cloudflare Workers - Global Serverless Functions Platform Deploy serverless functions globally in seconds. No cold starts, 330+ cities, infinite concurrency, and pay only for CPU time. Support for JavaScript, TypeScript, Python, and Rust. workers.dev
84 浏览 0 评论 0 反应
登录 后参与评论
还没有评论,来抢沙发。
查看完整榜单
查看完整榜单
查看完整榜单