如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
Harries
V2EX  ›  推广

🐛bbs.ss 全民捉虫计划:发现一个 Bug,奖励 5 元!

  •  
  •   Harries · 13h 49m ago · 475 views

    bbs.ss 还在持续开发完善中,一个人做网站难免会留下各种奇奇怪怪的 Bug 。

    所以决定发动大家一起找虫子:

    发现 1 个有效 Bug ,奖励 5 元!

    如果发现比较严重的问题,比如登录异常、发帖失败、数据错误、权限问题、页面崩溃等,根据严重程度奖励 10 ~ 50 元。

    怎么参加?

    非常简单:

    直接在本帖下面留言!

    留言尽量包含:

    • Bug 截图
    • 问题描述
    • 如何触发/复现
    • 手机或电脑、浏览器等信息

    能让我成功复现,就基本算有效 Bug 。

    奖励规则

    🐛 普通有效 Bug:5 元/个

    🔥 严重 Bug:10 ~ 50 元/个

    同一个 Bug 多人发现,以第一个留言反馈的人为准。

    重复 Bug 、已知问题、单纯的功能建议,以及恶意制造的问题不计算奖励。

    📅 活动时间:2026 年 9 月 8 日—9 月 30 日

    💰 第一期奖金池:500 元

    规则就这么简单。

    你负责找 Bug ,我负责修 Bug + 发红包。😂

    看看 500 块钱能从 bbs.ss 抓出多少只虫子。

    👇 发现 Bug ,直接在下面留言!

    5 replies    2026-09-12 00:33:28 +08:00
    Cabana
        1
    Cabana  
       13h 3m ago
    我来第一个,现在的分页自动加载会导致页脚永远也点不到
    zhangli2946
        2
    zhangli2946  
       12h 44m ago
    多语言部分还有小瑕疵。
    paradislover
        3
    paradislover  
       8h 7m ago via Android
    抓到 7 个
    paradislover
        4
    paradislover  
       8h 6m ago via Android
    🐛 Bug 1:分页接口 /api/topics 非法拦截 page=1 ,报错 400 (严重级/接口逻辑缺陷)

    * 严重程度:普通/严重(核心分页接口缺陷)
    * 问题描述:无论是首页还是各个分类,尝试请求第 1 页的公开数据接口时,后端一律返回 400 报错并提示参数错误,只有传 page=2 及以上才放行。
    * 复现步骤:
    直接在浏览器或终端请求:
    curl -i "https://bbs.ss/api/topics?tab=latest&page=1"
    (任何 tab 只要 page=1 都一样)
    * 实际结果:返回 HTTP 400 Bad Request ,内容:{"message":"请检查输入参数"}
    * 预期结果:正常返回第 1 页的帖子列表 JSON 数据。
    * 根因定位:后端 Zod 校验规则中对 page 参数误设置了 .min(2) 或 .gt(1)(开发时可能误以为第 1 页永远走 SSR ,客户端只负责拉第 2 页及以后),导致任何合法的 page=1 请求被系统当作非法参数拦截。

    ---

    🐛 Bug 2:数据少于一页或超出末页时,后端重复返回第一页数据且 page 字段返回 1 (严重级/数据逻辑与潜在死循环)

    * 严重程度:严重 Bug (数据错误 + 状态混乱)
    * 问题描述:当请求页码超出实际总页数(例如在总共只有 2 篇帖子的 solved 分类下请求第 2 页或第 3 页),后端不仅没有返回空列表,反而每次都把第 1 页的数据重新打包返回一遍,而且 response 里的 page 字段依然强行写死返回 1 。
    * 复现步骤:
    1. 当前 solved (已解决)分类下总共只有 2 条帖子,总页数 pages: 1 。
    2. 请求第 2 页:curl -s "https://bbs.ss/api/topics?tab=solved&page=2"
    3. 请求第 3 页:curl -s "https://bbs.ss/api/topics?tab=solved&page=3"
    * 实际结果:
    两个请求均返回 200 ,但返回的数据全部是:
    {"topics": [第 1 页的两条数据], "total": 2, "page": 1, "pages": 1}
    * 联动隐患:前端 InfiniteTopicList 组件在获取到数据后会执行 setPage(res.page),由于后端每次都把 page 倒带回 1 ,极易导致前端触底加载陷入无休止请求第 2 页的死循环。

    ---

    🐛 Bug 3:作品详情页「保存图片」分享海报功能彻底失效(严重级/功能报错不可用)

    * 严重程度:严重 Bug (核心活动功能页面崩溃/失效)
    * 问题描述:在作品冲榜和作品详情页面中,用户点击「分享」并在弹出的海报卡片中点击「保存图片」,界面完全无反应,图片无法下载。
    * 复现步骤:
    1. 电脑/手机打开任意有封面图的作品详情,例如: https://bbs.ss/works/w-fate-2fc52bdb
    2. 点击「分享」按钮呼出分享对话框。
    3. 点击对话框右下角的「保存图片」按钮。
    * 实际结果:
    没有文件下载,浏览器控制台报错:
    SecurityError: Failed to execute 'toBlob' on 'HTMLCanvasElement': Tainted canvases may not be exported.
    * 预期结果:正常生成并下载作品分享海报 PNG 。
    * 根因定位:
    代码位于 29cqtfdnqp3gc.js:
    1. 绘制海报加载封面图 new Image() 时,未设置 img.crossOrigin = "anonymous";
    2. 且 /api/media/[id] 的返回头中缺少 Access-Control-Allow-Origin: *;
    3. 图片写入 Canvas 导致画布被浏览器标记为污染( Tainted ),调用 toBlob 触发安全异常,且代码中没有 try...catch ,导致按钮彻底报废。

    ---

    🐛 Bug 4:国际化多语言下登录页面副标题错乱(普通/UI 文案错位)

    * 严重程度:普通有效 Bug
    * 问题描述:非中文(英文、日文、韩文、越南文)的登录页面中,登录框的主标题下方竟然显示的是「发布作品」的导语。
    * 复现步骤:
    打开英文版登录页: https://bbs.ss/en/login
    * 实际结果:
    主标题下方显示:
    Show what you built and leave the real lessons behind.(展示你构建的产品,留下真正的教训)
    日文版显示:作ったものを見せ、実際の学びを残しましょう。
    * 预期结果:应显示登录引导语(如 Welcome back 等)。
    * 根因定位:AuthForm 组件( 25mzrrfbhac54.js )的欢迎段落错误硬编码了 l("work.form.lead"),误把作品表单导语当成了登录框副标题。

    ---

    🐛 Bug 5:国际化页面中 returnTo 丢失语言前缀,登录后直接跳回中文版(普通/体验流程缺陷)

    * 严重程度:普通有效 Bug
    * 问题描述:在英文/日文版页面中点击任何需要登录的操作(如私信卖家、发帖等),登录完成后页面强制跳回中文版,语言偏好丢失。
    * 复现步骤:
    1. 访问英文域名页面: https://bbs.ss/en/domains/qw.do
    2. 点击右侧的「 Sign in to message the seller 」按钮,观察跳转链接:
    URL 为 /en/login?returnTo=%2Fdomains%2Fqw.do
    3. 登录完成后,页面跳转至 /domains/qw.do
    * 实际结果:英文用户登录后直接被带到了中文版页面。
    * 根因定位:生成携带 returnTo 的链接时直接取了裸 pathname ,没有经过 localePath(locale, pathname) 处理,导致登录后的回跳路径剥离了 /en 前缀。

    ---

    🐛 Bug 6:个人资料 GitHub / X 社交主页链接校验误杀常规网址(普通/表单校验缺陷)

    * 严重程度:普通有效 Bug
    * 问题描述:在 /settings 中填写 GitHub 或 X 主页链接时,直接从浏览器复制带 www. 的网址会被判定为非法。
    * 复现步骤:
    1. 打开个人设置 /settings
    2. 在 GitHub 输入: https://www.github.com/yourname
    3. 在 X (Twitter) 输入: https://www.twitter.com/yourname
    4. 点击保存。
    * 实际结果:表单校验报错,提示“请输入 GitHub 主页”/“请输入 X 主页”,无法保存。
    * 根因定位:00b5rzonw-r3v.js 中的校验正则表达式为:
    github: /^https:\/\/github\.com\//i
    x: /^https:\/\/(x|twitter)\.com\//i
    完全漏掉了 (?:www\.)? 的匹配,导致大量用户习惯性带 www 的 URL 被误拦截。

    ---

    🐛 Bug 7:域名市场挂牌域名校验允许非法连字符 TLD (普通/规范校验缺陷)

    * 严重程度:普通有效 Bug
    * 问题描述:挂牌域名允许诸如 example.-com 或 example.com- 等带有首尾连字符的非法顶级域名通过前端校验。
    * 根因定位:
    域名正则:/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9-]+)+$/
    末尾的 (\.[a-z0-9-]+)+ 允许了首尾带有 - 的顶级域名,不符合 RFC 1035 与 ICANN 关于顶级域名的严格规范
    king888
        5
    king888  
       4h 13m ago
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   860 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:47 · PVG 04:47 · LAX 13:47 · JFK 16:47
    ♥ Do have faith in what you're doing.