你的 Lovable 应用准备好迎接真实用户了吗?
Lovable 应用就是 React 加 Supabase,大多数问题都出在两者之间:哪些东西进了浏览器的打包文件,数据库又允许任何人读取什么。粘贴你的 Lovable 网址或自定义域名,在分享链接之前看看要修什么。
免费,无需注册。基础检测只发送普通浏览器会发送的请求。
我们在 Lovable 应用上检查什么
- 严重免费检测
打包文件中的 Supabase service_role 或 secret 密钥
这把能绕过 Row Level Security 的密钥被发到了浏览器里。任何人都能读取和修改每一张表。我们会指出所在文件,并以打码形式展示密钥。
- 严重Pro
用公开的 anon 密钥就能读取的表
anon 密钥本来就是公开的——真正保护你的是 Row Level Security。验证域名后,我们会检查应用用到的每张表,统计可读取的行数,从不读取内容。
- 提示免费检测
anon 密钥可见——这没问题
我们会告诉你应用连接的是哪个 Supabase 项目,并说明公开密钥属于预期之内,免得你为不该担心的事情恐慌。
- 中免费检测
托管平台缺少安全响应头
没有 Content-Security-Policy、HSTS 或点击劫持防护。我们会告诉你缺哪些,以及如何在你的托管平台上添加。
- 低免费检测
渲染后缺少标题、描述和预览
在 JavaScript 运行之前,Lovable 页面只是一个空的 <div id="root">。我们用真实浏览器渲染页面,检查搜索引擎和链接预览实际拿到了什么。
十分钟自己动手检查
最严重的问题,不靠我们也能找到。下面是手动检查 Lovable 应用的方法,以及每个结果意味着什么。
查看代码里的 Supabase 密钥
打开生成的 Supabase 客户端文件(通常是 src/integrations/supabase/client.ts),在整个项目中搜索 service_role 和 sb_secret_。应用里只应该有 anon 或 publishable 密钥。
service_role sb_secret_
解码线上网站实际发出的密钥
打开你的线上网站,然后打开 DevTools → Console。粘贴你在 Network 标签页里看到的密钥(任何发往 supabase.co 的请求中的 apikey 请求头)并解码。"role": "anon" 没问题;"service_role" 意味着要立刻轮换。
JSON.parse(atob("<the key>".split(".")[1])).role运行 Supabase 的 Security Advisor
Supabase 控制台 → Advisors → Security Advisor。凡是被列为未启用 Row Level Security 的表,任何持有 anon 密钥的人都能读取。
看看链接预览显示什么
在你的网址前加上 view-source:。如果 <title> 还是模板自带的,而且没有 meta description,搜索引擎和聊天应用看到的也是这样。请修改 index.html。
view-source:https://your-app.lovable.app
把修复直接粘贴进 Lovable
每份报告最后都有一段为 AI 构建工具写的提示词:哪里出了问题、在哪个文件、如何确认修复生效。把它粘贴到 Lovable 的对话框里。
修复 myapp.lovable.app 上的这些问题。修改任何内容前先定位每个问题。 1. assets/index-8a1d.js 中有 Supabase service_role 密钥。 把需要它的查询移到 Supabase Edge Function 中,在 Supabase 控制台轮换该密钥,应用里只保留 anon 密钥。 2. 页面渲染后没有 meta description。 在 index.html 中添加 description 和 Open Graph 标签。 完成后重新检测:https://scanyoursite.app/zh?check=myapp.lovable.app
在 Lovable 里每改一次,就是一次部署
一条提示词就能重写半个应用。开通 Pro 后,我们会察觉每个新版本,并在几分钟内检测——网站是否在线、密钥有没有回到打包文件里——只在出现新问题时通知你。
查看方案常见问题
lovable.app 子域名能用吗?
能,自定义域名也能。数据表检测等进阶检测需要证明域名属于你,而这只能在你能控制的域名上完成。
数据表检测会改动我的数据吗?
不会。它用你的公开 anon 密钥对每张表发送一次 HEAD 请求,统计可读取的行数。它从不读取行的内容,也从不写入。
打包文件里的 anon 密钥有问题吗?
没有,它本来就是设计成公开的。危险的是 service_role 或 secret 密钥,或者没有 Row Level Security 的表——这正是我们要找的。
粘贴网址,大约一分钟拿到清单。
每条发现都会说明它对你意味着什么、该如何修复——或者给你一段 AI 编程工具可以直接执行的提示词。
免费,无需注册。基础检测只发送普通浏览器会发送的请求。