搜索

生成式 AI (AIGC、GenAI) 教学

基本介绍

关于生成式 AI 关于 AI 绘图 AI 绘图的提示技巧 AI 绘图软件比较 ( 2023 ) AI 绘图软件推荐 ( 2024 ) 2025 生成式 AI 工具推荐

Vibe Coding 专区

Vibe Coding 教学导读 认识 Vibe Coding Vibe Coding 新手入门 Vibe Coding 规划架构流程 Vibe Coding 网页知识 Vibe Coding Python 知识 Vibe Coding 下载网页程序码 Vibe Coding Google App Script 部署网页 Vibe Coding Github 部署网页 Vibe Coding 使用外部图片 Vibe Coding 使用 SVG 图示 Vibe Coding 使用外部字体 Vibe Coding 固定网页样式 Vibe Coding + Spreadsheet 数据库 Vibe Coding + Firebase 即时数据库 Vibe Coding + Firestore 数据库 Vibe Coding 数据库安全防护 Vibe Coding 串接账号验证机制 Vibe Coding 串接 Google 云端硬盘 Vibe Coding 串接 Gemini API Vibe Coding 打造 LINE Bot Vibe Coding 实战:线上订餐系统 Vibe Coding 实战:文件上传系统 Vibe Coding 实战:线上点名单 Vibe Coding 实战:英文单字卡

AI 实用技巧

AI 语音转 srt 字幕

2025 AI 影音工具

ChatGPT - 图片提示词技巧 ChatGPT - 客制化机器人 ChatGPT - 使用画布功能 Gemini - 开始使用 Gemini - 客制化机器人 Gemini - 串接 Google 服务 Gemini - 使用画布功能 NotebookLM - 开始使用 NotebookLM - 建构知识库 Google AI Studio - 界面功能 Nano Banana - 图像生成与编辑 Gemini Educator 线上认证 图片 - AI 图片快速去背 图片 - AI 黑白照片上色 声音 - AI 影词组音转字幕 影片 - Pika 生成创意影片 影片 - KlingAI 生成影片 影片 - AI 影片趣味特效 影片 - AI 拥抱 ( AI Hug ) 影片 - AI 老照片动起来 图片 - Dreamina 生成图片 音乐 - SUNO 创作音乐 音乐 - 免费 AI 音乐素材

ChatGPT

认识 ChatGPT 开始使用 ChatGPT 优良的提示技巧 基本提示 实用组合提示 角色扮演&对话主题 阅读并模仿风格 对话中显示图片 创作长篇故事与小说 使用 Bing Chat 相关工具或服务

Poe ( Poe AI )

开始使用 Poe 聊天机器人 生成图片机器人 建立自己的机器人 Youtube 影片重点整理 PDF 重点整理 GPT-4o-mini 分析图片 读取网页进行重点整理 让 AI 美化提示词

Ideogram

开始使用 Ideogram 文字产生图片 图片 Retry 与 Remix

dzine

开始使用 dzine 提示词产生图片 图片产生图片 运用图层功能 运用文字和画笔 ( 范例 ) 室内设计透视图实体化 ( 范例 ) 名画转真人照片 ( 范例 ) 真人照片转卡通 ( 范例 ) 真人卡通贴图

Image Creator

开始使用 Image Creator 提示原则与技巧 搭配 Bing Copilot 产生图片 ( 范例 ) 产生分享文章缩图 ( 范例 ) 漫画书风格

Leonardo.Ai

Leonardo.Ai 教学导读 Leonardo.Ai vs Midjourney 认识 Leonardo.Ai 注册与登录 Leonardo.Ai 使用图片产生器 文字提示语法和准则 Elements 风格元素 使用图片产生图片 AI 图片编辑器 ( Canvas Editor ) 即时 AI 画布 ( Realtime Canvas ) 即时图片产生器 ( Realtime Gen ) 图片升级器 ( Universal Upscaler ) 产生图片的后续步骤 Prompt Magic 魔法提示 PhotoReal&Alchemy 特色模型 训练自己的模型 ( 范例 ) 填补缺少的披萨 ( 范例 ) 组合两片披萨 ( 范例 ) 虚拟陈雷 ( 范例 ) 修改人物年龄 ( 范例 ) 换脸特效 ( 范例 ) 隐藏的人脸或文字 ( 范例 ) 全部填满皮卡丘 ( 范例 ) 名画转真人照片

Recraft

开始使用 Recraft 位图 Raster image 向量图 Vector image 图示 Icon 与 Logo 系列图像 Image Set 原型示意图 Mockup 画框 Frame、文字 Text 放大 Upscale、改色 Recolor 图片去背、替换图片背景 添加、修改、移除景物 图片产生图片 位图转向量图 自定义图片风格 合并不同图片 ( 范例 ) 名画转真人照片 ( 范例 ) 照片转卡通插画 ( 范例 ) 自制表情贴图 ( 范例 ) 多格漫画风格 ( 范例 ) 图片中加入文字 ( 范例 ) 延伸图片范围

Midjourney

Midjourney 教学导读 认识 Midjourney 使用 Midjourney 使用 niji.journey 设定指令 功能参数 使用文字提示产生图片 使用图片产生图片 优良的提示技巧 多重提示的权重与顺序 style tuner 样式调校 remix 放大、修改与重绘 blend 混合多张图片 删除图片&传送信息 ( 范例 ) 修改人物年龄 ( 范例 ) 阿尔钦博托风格 ( 范例 ) 照片转卡通人物 ( 范例 ) 变胖、变瘦

Vidnoz AI

开始使用 Vidnoz AI ( 影片 ) 照片讲话 ( 图片 ) 人物换脸 ( 图片 ) 图片去背

Canva AI 魔法功能

AI 魔法媒体工具 ( 文字产生图片和影片 ) AI 魔法工作室 ( 使用 AI 编辑照片 ) AI 魔法变形工具 ( 转换文字或形状 ) AI 魔法文案工具 ( Magic Write )

Clipdrop

开始使用 Clipdrop 修改图片选取区域 延展图片并生成内容 人物换脸 图片去背 移除特定对象 放大与增强图像 图像打光 替换天空

Playground AI

开始使用 Playground AI Board 文字产生图片 Canvas 绘制与修改图片 Remix 与 Edit 图片 延展和放大增强图片 图片去背、移除对象 搭配 Poe AI 产生图片

Replicate 模型

认识 Replicate ( 修图 ) 黑白照片上色 ( 修图 ) 修复老照片 ( 修图 ) 增强与放大照片 ( 修图 ) 更换发型和表情 ( 绘图 ) 似颜绘贴图 ( 绘图 ) 真人照片转公仔 ( 绘图 ) 隐藏的图案或文字 ( 提示 ) 图片转提示词 ( 提示 ) 改善提示词

AI 绘图效果&范例

着色本效果 2D 卡通人物 物品开箱照 像素艺术 百科全书风格 卡通贴纸

AI 绘图风格大全

风格大全 ( 总览 ) 风格大全 ( 摄影、照片 ) 风格大全 ( 画面角度效果 ) 风格大全 ( 媒材、材质 ) 风格大全 ( 卡通、漫画 ) 风格大全 ( 艺术流派风格 ) 风格大全 ( 艺术家、画家 ) 风格大全 ( 插画风格 1 ) 风格大全 ( 插画风格 2 ) 风格大全 ( 特色风格 )

Vibe Coding 数据库安全防护

开始透过 Vibe Coding 搭配 Firebase Realtime Database 作为数据库之后,最令人担心的莫过于数据变更、被恶意爬取或非法写入,这篇教学会介绍 Firebase 的超强防护机制:“App Check”,App Check 不仅能维持 Vibe Coding 的开发节奏,还可以同时确保“数据安全”,为云端数据库加上一层最强防护罩。

快速导览:

拒绝数据裸奔!Vibe Coding 必备 Firebase App Check 安全防护指南

教学影片

搭配教学影片一起阅读,效果会更好!欢迎大家订阅 STEAM 教育学习网的 Youtube 频道。

前往:https://www.youtube.com/@steam.oxxostudio

Firebase 常见的保护数据方式

下方列出开发者在保护 Firebase 云端数据时,最常用到的几种“防线”,了解它们各自的角色与局限性,就会明白为什么 App Check 是维护安全性的最后一块拼图:

  • 身份验证 ( Authentication )

    要求用户登录后才能存取数据,但许多网站都会希望不用登录就能显示内容。

  • 不登录但限制来源

    透过“网域、IP”等限制,让数据库只能在特定网域读取或写入,这需要仰赖后台的白名单机制或 API Key 的限制,但如果没有设定好,极易被骇客透过工具伪造,难以完全阻挡有心的非法请求。

  • 安全规则 ( Security Rules )

    Firebase 的核心安全性规则,但逻辑撰写有时较为繁琐。

  • App Check 应用程序验证

    不只验证用户“是谁”,更进一步验证请求的“来源设备与程序”是否合法,从源头杜绝了所有非法的模拟请求。

拒绝数据裸奔!Vibe Coding 必备 Firebase App Check 安全防护指南 - Firebase 常见的保护数据方式

认识 App Check 与 reCAPTCHA

Firebase App Check 是一种强大的安全防护层,它将安全性的边界从“身份验证”( 是谁 )扩展到“请求来自哪里”,简单来说,App Check 能确保发往 Firebase 的请求并非来自自动化脚本、爬虫或未经授权的第三方网页,而是源自于用户亲手打造、且受认可的应用程序。

而 App Check 又与 reCAPTCHA 的关系密不可分,在 Web 环境中,reCAPTCHA ( v3 或 Enterprise 版 ) 会先担任了关键的“证明提供者”( Attestation Provider ) 角色,只要通过 reCAPTCHA 验证,App Check 才会确认身份,让数据可以读取,这种机制最迷人之处在于它对用户几乎是“隐形”的,不需要扰人的图形验证跳窗,完全符合 Vibe Coding 追求的无障碍与极速体验。

下方 reCAPTCHA 的一些简单介绍:

  • 无声的守门员

    当用户与应用程序互动时,reCAPTCHA 会在背景分析这次行为,判断这是一个真实的人类操作还是恶意脚本。

  • 证明与授权

    一旦 reCAPTCHA 确认请求合法,它会向 App Check 提供一个证明,App Check 随即签发一个具时效性的“Token”( 金钥 )。

  • 自动验证

    这个 Token 会自动附带在 Realtime Database 请求中,请求抵达 Firebase 时,系统会检查这个 Token,只有持有合法Token 的请求才会被允许通过。

拒绝数据裸奔!Vibe Coding 必备 Firebase App Check 安全防护指南 - 认识 App Check 与 reCAPTCHA

为什么 Realtime Database 不使用基本 API Token 进行保护?

由于 Google 的专案也提供了 API Token 的防护机制,所以大多数人在刚入门 Realtime Database 时,往往会先尝试使用 API Token 保护数据,以为帮 API Key 设定了“网域绑定”就安全了,但实际上这却是一个常见的误会,单纯依赖 API Token 有以下致命限制:

  • API Key 仅用于识别而非授权

    Firebase 的 API Key 本质上是为了“让 Google 知道要把账单算在谁头上”,它并不是用来保护数据内容的门票。

  • Referer 标头极易伪造

    网域绑定是基于浏览器发送的 Referer HTTP 标头。然而,骇客只要使用简单的脚本 ( 例如 Python 的 requests 或 Node.js ) 甚至是一个可以模拟 HTTP Request 的 Postman工具,就能轻易地在 Header 中加入假的 Referer。

  • 浏览器网域限制仍然可能失效

    Realtime Database 主要是透过 WebSocket 进行通讯,而 API Key 的网域限制只对标准的 HTTP 请求有效,而且 Firebase SDK 在初始化后,数据流的传输往往能避开这些初级的标头检查,因此就算在 A 网域设定了限制,在 B 网域仍然能顺利读写数据。

  • 前端程序码全公开

    任何打开网页的人,都能在源代码中找到 API Key。

拒绝数据裸奔!Vibe Coding 必备 Firebase App Check 安全防护指南 - 为什么 Realtime Database 不使用基本 API Token 进行保护?

为什么 Realtime Database 要使用 App Check 进行保护?

由于单纯使用 API Token 会有不少安全性的误会,进而造成不利数据库安全的状况,因此需要改用 App Check 进行保护,使用 App Check 能有下列优势:

  • 后端加密验证

    采用后端验证机制,不再依赖前端容易被伪造的 Referer 标头。

  • 不可伪造的 Token

    检查由 Google 签署、具时效性且无法被第三方模拟的证明 ( Attestation Token )。

  • 强制拒绝机制

    如果请求中缺乏经过 reCAPTCHA 认证的合法 Token,Firebase 数据库端会直接拒绝连线,无视任何正确的 API Key 或伪造的标头。

拒绝数据裸奔!Vibe Coding 必备 Firebase App Check 安全防护指南 - 为什么 Realtime Database 要使用 App Check 进行保护?

前往 Google Cloud Platform 启用 reCAPTCHA

在进行所有安全性防护之前,需要先建立 Firebase 专案,参考“开始使用 Firebase Realtime Database”教学,注册并登录 Firebase,建立一个 Firebase 专案,确认可以顺利读取和写入数据。

前往 Google Cloud Platform 启用 reCAPTCHA - 建立 Firebase 专案

使用 App Check 需要搭配 reCAPTCHA,reCAPTCHA 需要前往 Google Cloud Platform ( Google 云端平台 ) 才能启用,点击下方网址,使用自己的 Google 账号登录 Google Cloud Platform,第一次使用时会出现下方的画面。

前往:https://console.cloud.google.com/

Vibe Coding 前往 Google Cloud Platform 启用 reCAPTCHA - 使用自己的 Google 账号登录 Google Cloud Platform

进入 Google Cloud Platform 之后点击左上角“选取专案”,选取自己刚刚建立的 Firebase 专案。

Vibe Coding 前往 Google Cloud Platform 启用 reCAPTCHA - 进入 Google Cloud Platform 之后点击左上角“选取专案”,选取自己的 Firebase 专案

进入专案之后,从左侧选单选择“安全性 > reCAPTCHA”。

Vibe Coding 前往 Google Cloud Platform 启用 reCAPTCHA - 进入专案之后,从左侧选单选择“安全性 > reCAPTCHA”

进入 reCAPTCHA 启用画面后,点击“启用”。

Vibe Coding 前往 Google Cloud Platform 启用 reCAPTCHA - 进入 reCAPTCHA 启用画面后,点击“启用”

完成后继续点击“设定 reCAPTCHA 防护机制”。

Vibe Coding 前往 Google Cloud Platform 启用 reCAPTCHA - 完成后继续点击“设定 reCAPTCHA 防护机制”

在防护机制中,加入要限制的网域,通常在测试阶段会加入“localhost”,如果会将 Vibe Coding 的网页部署到 Github,就要将 Github 的网址加入 ( 参考“使用 GitHub 部署你的网页作品” )。

Vibe Coding 前往 Google Cloud Platform 启用 reCAPTCHA - 通常在测试阶段会加入“localhost”,如果会将 Vibe Coding 的网页部署到 Github,就要将 Github 的网址加入

完成后会出现下图的画面,点击右上方“编辑金钥”。

Vibe Coding 前往 Google Cloud Platform 启用 reCAPTCHA - 完成后会出现下图的画面,点击右上方“编辑金钥”

接着就能看到这个金钥的 ID 和 Secret Key,ID 是金钥的识别代码,Secret Key 是要提供给 App Check 的认证码,点击 Reveal 可以看到完整代码,这两组代码在后续的步骤都会用到。

Vibe Coding 前往 Google Cloud Platform 启用 reCAPTCHA - ID 是金钥的识别代码,Secret Key 是要提供给 App Check 的认证码

使用 App Check 保护云端数据库

完成 reCAPTCHA 的设定并取得 ID 和 Secret Key 之后,接下来就要开始在 Vibe Coding 的过程中导入 App Check,参考“建立 Firebase 应用程序”,在刚刚刚启用 Firebase 专案里建立一个应用程序,并且可以看到这个应用程序的设定码。

Vibe Coding 使用 App Check 保护云端数据库 - 在 Firebase 专案里建立一个应用程序

在 Firebase 专案里,点击左侧选单“App Check”,点击“开始使用”。

Vibe Coding 使用 App Check 保护云端数据库 - 在 Firebase 专案里,点击左侧选单“App Check”,点击“开始使用”

进入 App Check 界面后,切换到“应用程序”页签,在刚刚的应用程序后方点击“注册”,表示 App Check 会对这个应用程序进行宝检查和防护的动作。

Vibe Coding 使用 App Check 保护云端数据库 - 进入 App Check 界面后,切换到“应用程序”页签,在刚刚的应用程序后方点击“注册”,表示 App Check 会对这个应用程序进行宝检查和防护的动作

注册时展开 reCAPTCHA 项目。

Vibe Coding 使用 App Check 保护云端数据库 - 注册时展开 reCAPTCHA 项目

在 reCAPTCHA 密钥的位置,填入刚刚在 Google Cloud Platform 中 reCAPTCHA 金钥里面的 Secret Key,完成后点击储存。

Vibe Coding 使用 App Check 保护云端数据库 - 在 reCAPTCHA 密钥的位置,填入刚刚在 Google Cloud Platform 中 reCAPTCHA 金钥里面的 Secret Key

如果 reCAPTCHA 前方出现“打勾”图案,右上方出现“已注册”,表示 App Check 完成注册应用程序。

Vibe Coding 使用 App Check 保护云端数据库 - 如果 reCAPTCHA 前方出现“打勾”图案,右上方出现“已注册”,表示 App Check 完成注册应用程序

切换回 API 页签,可以看见 Realtime Database 后方出现“未强制执行”的说明文字,表示 APP Check 已经开始运作,只是没有“强制执行”防护动作。

Vibe Coding 使用 App Check 保护云端数据库 - 切换回 API 页签,可以看见 Realtime Database 后方出现“未强制执行”的说明文字,表示 APP Check 已经开始运作,只是没有“强制执行”防护动作

Vibe Coding 测试 App Check 是否运作

如果 App Check 都设定完成,接下来就进入 Vibe Coding 的步骤,使用下列提示词产生一个网页,由于 AI 的自动保护机制,无法直接提供 Token、ID 等隐私信息,因此可以先请 AI 产生假的数据,完成后自行替换成真实数据。

特别注意,免费版本 reCAPTCHA 每月只有 10,000 次验证额度,而且只能使用 v3 的版本。

我已經使用 app check 和 reCAPTCHA v3 限制 Firebase Realtime Database,請幫我按照下列規則,用畫布幫我產生一個網頁:
- 使用基本的 html 和 js,不要套用任何框架和樣式。
- 畫面中有一個多行輸入欄位,以及一個「送出」按鈕和一個「重填」按鈕。
- 如果輸入欄位沒有內容,無法點擊按鈕。
- 如果輸入欄位有內容按下「送出」會把內容儲存到 Firebase realtime 資料庫。
- 如果輸入欄位有內容,按下「重填」會把輸入欄位清空。
- 下方輸入欄位和按鈕的下方有一個清單,顯示儲存後的資料。
- 不需要使用任何登入機制。
- 我會把資料存到我自己的 Firebase realtime database,請先用假的測試標記。
- 不要使用 Firebase Firestore。

如果 AI 已经可以正常产生网页,参考“下载 Vibe Coding 网页程序码”教学的做法,下载并用编辑器打开程序码,并把假数据换成自己的信息。

  • Firebase 设定区域:换成 Firebase 应用程序的设定代码 ( 参考:建立 Firebase 应用程序 )
  • reCAPTCHA 区域:换成 reCAPTCHA 的 ID 代码。

Vibe Coding 测试 App Check 是否运作 - 下载并用编辑器打开程序码,并把假数据换成自己的信息

完成后可以使用像是 JSBin 等线上编辑器测试网页,因为网域并不是刚刚 reCAPTCHA 所设定的合法网域,所以虽然可以读写,在网页开发模式却会出现 App Check 的错误消息,这表示 App Check 有正常运作,只是因为刚刚没有强制执行,所以还是可以读写。

Vibe Coding 测试 App Check 是否运作 - 在网页开发模式却会出现 App Check 的错误消息,这表示 App Check 有正常运作,只是因为刚刚没有强制执行,所以还是可以读写

回到 App Check 的 API 页签,点击 Realtime Database。

Vibe Coding 测试 App Check 是否运作 - 回到 App Check 的 API 页签,点击 Realtime Database

点击 Realtime Database 后可以看见 App Check 对于这个数据库的防护状况,稍作等待后重新整理画面 ( 此处的画面并不是即时更新 ),就可以看见刚刚使用 JSBin 打开的网页,虽然可以读写,但是 100% 都是“未经验证的要求”,这表示 App Check 有顺利拦截到所有不合规定的连线。

Vibe Coding 测试 App Check 是否运作 - 虽然可以读写,但是 100% 都是“未经验证的要求”,这表示 App Check 有顺利拦截到所有不合规定的连线

Vibe Coding 保护指定网域的读写

确认 App Check 可以保护数据库之后,接下来就可以点击“强制执行”,正式启用 App Check 防护。

Vibe Coding 保护指定网域的读写 - 确认 App Check 可以保护数据库之后,接下来就可以点击“强制执行”,正式启用 App Check

强制执行后,大约等待几分钟,就会套用对应的保护措施。

Vibe Coding 保护指定网域的读写 - 强制执行后,大约等待几分钟,就会套用对应的保护措施

完成后在右上角会看见“已强制执行”的图示,表示开始强制执行防护。

Vibe Coding 保护指定网域的读写 - 完成后在右上角会看见“已强制执行”的图示,表示开始强制执行防护

等待几分钟让强制执行生效 ( 约 3~5 分钟 ),回到 JSBin 重新整理刚刚的网站内容,因为网域并不是刚刚 reCAPTCHA 所设定的合法网域,又强制执行 App Check,就无法正常读写数据,在网页开发者工具里也会看见被阻挡的错误消息。

Vibe Coding 保护指定网域的读写 - 因为网域并不是刚刚 reCAPTCHA 所设定的合法网域,又强制执行 App Check,就无法正常读写数据,在网页开发者工具里也会看见被阻挡的错误消息

如果切换到 reCAPTCHA 所设定的合法网域,就可以读写数据,在开发者工具中也不会出现错误消息。

Vibe Coding 保护指定网域的读写 - 如果切换到 reCAPTCHA 所设定的合法网域,就可以读写数据,在开发者工具中也不会出现错误消息。

过一段时间后再回到 App Check 里观察防护状况,就可以发现有些是“已验证的要求”,有些是“未验证的要求”,表示 App Check 已经正式对数据库进行“合法网域”的防护。

注意,如果在 API Token 有设定网域保护,虽然无法保护数据库,但却会限制 App Check 可以使用的网域。

Vibe Coding 保护指定网域的读写 - 过一段时间后再回到 App Check 里观察防护状况,就可以发现有些是“已验证的要求”,有些是“未验证的要求”,表示 App Check 已经正式对数据库进行“合法网域”的防护

小结

在享受 Vibe Coding 带来的灵感喷发与即时同步时,只要透过 Firebase App Check,就不再需要担心数据库沦为骇客的游乐场,现在,就为 Vibe Coding 的数据库加上这层最强防护,让创意在安全的环境下自由流动!

延伸阅读

Vibe Coding 的重点都不在于“写程序”,而是为了配合程序的各种“准备工作”,下方列出 Vibe Coding 相关的教学,透过一系列的教学,就更能掌握正确且顺畅的开发流程:

意见反馈

微信二维码 微信扫码关注 抖音二维码 抖音扫码关注