<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
  <title>Seabloom</title>
  <link>https://haiyangliu.com</link>
  <description>Seabloom 是 Haiyang Liu 的个人网站：AI、好玩的小项目和随笔。</description>
  <language>zh-CN</language>
<item>
  <title>给静态网站加上后端：登录、留言板和站长后台</title>
  <link>https://haiyangliu.com/blog/adding-a-backend/</link>
  <guid>https://haiyangliu.com/blog/adding-a-backend/</guid>
  <pubDate>Mon, 26 Oct 2026 16:00:00 GMT</pubDate>
  <description>不租服务器，怎么给一个纯静态网站加上账号系统、留言板和站长后台？这篇讲清楚每一层的设计：数据库、密码、会话、限流、分页、权限、审计日志和测试，以及每一项安全措施在防什么攻击。</description>
</item>
<item>
  <title>上线之后：给网站做一次体检，以及 Cloudflare 能不能替代 VPS</title>
  <link>https://haiyangliu.com/blog/after-launch-checkup/</link>
  <guid>https://haiyangliu.com/blog/after-launch-checkup/</guid>
  <pubDate>Mon, 26 Oct 2026 16:00:00 GMT</pubDate>
  <description>功能都能用，不代表没有问题。这篇记录一次完整的上线后检查：自动检查、依赖漏洞、自己扮演攻击者测线上、安全响应头、工具查不出来的逻辑漏洞、搜索引擎，以及怎么修。最后讲清楚 Cloudflare 的免费服务能替代 VPS 到什么程度。</description>
</item>
<item>
  <title>从零到上线：Seabloom 是怎么搭起来的</title>
  <link>https://haiyangliu.com/blog/building-seabloom/</link>
  <guid>https://haiyangliu.com/blog/building-seabloom/</guid>
  <pubDate>Mon, 26 Oct 2026 16:00:00 GMT</pubDate>
  <description>一个空文件夹，怎么变成全世界都能访问的网站？这篇把用到的每一项技术、每个页面的实现、上线的每一步和踩过的坑都讲清楚。</description>
</item>
<item>
  <title>站长文件空间和社区：R2 存文件，以及一个小型社交网站的数据设计</title>
  <link>https://haiyangliu.com/blog/files-and-community/</link>
  <guid>https://haiyangliu.com/blog/files-and-community/</guid>
  <pubDate>Mon, 26 Oct 2026 16:00:00 GMT</pubDate>
  <description>这一篇做了三件事：把留言板挪到显眼的地方，给站长加一个用 R2 存文件的私人空间，再做一个能发帖、点赞、评论的社区。重点讲文件上传的安全细节、点赞计数怎么保证不出错，以及静态网站怎么做「每篇帖子一个页面」。</description>
</item>
</channel>
</rss>