公開的程式,不能放秘密,每一步都有依據。
HTML/CSS/JS不是秘密保存區。先列公開與私有檔案,再從獨立假秘密故障練習定位,不引入真實帳密。
這關帶走:公開檔不含假秘密,apiBase與正常功能保留。
先學一招:前端任何人都能下載
公開檔不含假秘密,apiBase與正常功能保留。
帶上你的裝備
- 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
- 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
- 01-public-fake-secret的config.js、公開檔案清單、FAKE_NOT_A_REAL_SECRET_L25
HTML/CSS/JS不是秘密保存區。先列公開與私有檔案,再從獨立假秘密故障練習定位,不引入真實帳密。
先分清自己的作品、線上畫面與可啟動參考包;線上參考不提供API,請在本機閱讀隨包OPEN_REFERENCE.html後操作。
一起拆解:公開檔不放秘密
本關18分鐘觀念:3分鐘看輸入、6分鐘逐步推演、5分鐘正常與錯誤對照、4分鐘先預測再說明。
這次的輸入
隔離教學config.js多了明示假字串FAKE_NOT_A_REAL_SECRET_L25。
公開:HTML、JS、CSS、assets、apiBase
後端環境:ADMIN_PASSWORD
私有:案件JSON、備份manifest這段是觀念縮圖,完整可操作檔案在本關參考成果;請依當前階段判讀,不把片段直接貼到任意位置。
一步一步推演
- 只在指定故障包找明示假字串,不搜尋或輸出自己的真實密碼。
- 移除假秘密宣告,不移到另一前端檔;apiBase是公開網址要保留。
- 以實際檔案清單核對發布根目錄,再測正常詢問與登入。
正常應看到
公開檔沒有假秘密,必要公開設定與功能保留。
常見錯誤對照
改變數名或壓縮JS不能讓瀏覽器下載的秘密變成私有。
先預測,再說明原因
apiBase與ADMIN_PASSWORD為何不能用同一種公開設定方式?
跟著觀察
- 先讀「公開檔不放秘密」的輸入,指出本關實際檔案或資料。
- apiBase與ADMIN_PASSWORD為何不能用同一種公開設定方式?
- 依例子逐步說明正常結果與錯誤差別,再記下自己的預測;參考結果不是已完成的實測。
這是你的實際操作確認,小測不會替你勾選。
動手挑戰:公開的程式,不能放秘密
公開檔不含假秘密,apiBase與正常功能保留。
先準備
- 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
- 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
- 01-public-fake-secret的config.js、公開檔案清單、FAKE_NOT_A_REAL_SECRET_L25
自己列公開檔、後端環境與私有資料三類。
照這個順序開始
- 開01-public-fake-secret,只找明示FAKE教學字串。
- 請AI依附清單只移除前端假秘密宣告,保留公開apiBase。
- 檢查全部公開檔與發布根,不把秘密改名或移到另一個前端檔。
移除公開前端的假秘密
主要使用 Cursor 內建 AI;先附資料,再送出指令。
- 1.附上這些檔案與資料
- 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
- 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
- 01-public-fake-secret的config.js、公開檔案清單、FAKE_NOT_A_REAL_SECRET_L25
- 2.貼到哪裡
- 在 Cursor 開啟自己的本關練習副本,進入內建 AI 對話;正常版與故障副本分開。
- 用 @ 附上本關指定檔案,核對完整路徑;補實際觀察、輸入與結果,再貼下方 Prompt。
- 先讀回覆與差異,只保存指定範圍;回到瀏覽器實際檢查。版本保存由自己操作,不讓 AI 代替驗收或提交。
- 3.預期回覆與操作
- 請AI依附清單只移除前端假秘密宣告,保留公開apiBase。
- 能說明公開檔、後端設定、私有資料三種範圍。
- 4.自己檢查結果
- 公開檔不含假秘密,apiBase與正常功能保留。
- 能說明公開檔、後端設定、私有資料三種範圍。
移除公開前端的假秘密 Prompt(可收合)
你是協助零基礎學員的網站開發助手。我使用 Cursor 免費版編輯原生 HTML、CSS、JavaScript;必要時把你提供的內容手動貼入檔案。
情境與本次輸入:承接第24堂service-site;正常後端已做授權與白名單,不為教學刪掉防護。兩個獨立故障:前端FAKE假秘密與本機8782匿名放行後端,各只一原因。只在自己的隔離副本測,禁止正式站掃描。
本次任務:只處理自己的01-public-fake-secret教學副本:config.js多了window.DEMO_SECRET="FAKE_NOT_A_REAL_SECRET_L25"(明確假字串)。指出前端公開可下載的原因,只移除該宣告與故障註解,不把秘密改名、混淆、藏到另一JS,也不刪公開apiBase或把正常後端功能拿掉。依實際檔案清單列HTML/JS/CSS/assets公開、ADMIN_PASSWORD後端環境、cases私有目錄的界線;不讀取/輸出真實秘密。列搜尋假字串、正常詢問與登入回歸,不能稱全面安全。
請先閱讀我附上的相關檔案或資料,資訊缺漏時精確列出需要補充的項目,不猜檔名、API 或測試結果。說明以繁體中文撰寫,指出檔案與修改位置;檢查結果區分已知、待驗與未完成。只處理學生自己的練習副本,不改現有展示網站,不要求付費訂閱。Cursor AI 無法使用?改用 ChatGPT 備援
把上方指定的檔案內容、清單與補充資料,連同同一份 Prompt 貼入 ChatGPT 對話。只貼電腦上的路徑,無法讓它讀取你的檔案。
收到程式碼時,先核對檔名與修改位置,再手動存回自己的練習副本;若收到檢查表或補檔步驟,就逐項操作。不要把 Prompt 或程式碼框的反引號貼進 HTML/CSS。
兩邊都受限時,可先看既有參考成果、檢查差異與手動修改;未做過的 AI 生成或公開發布仍記待完成。不要貼入帳密、金鑰或真實個資。
複製只取得 Prompt 文字,檔案需自行在 Cursor 附上;本頁不會呼叫 AI 或自動完成關卡。
卡住時,APPA 給你一點線索
線索 1|先找現象與證據
只測FAKE字串,不能把真實密碼貼給AI。
線索 2|再縮小修改範圍
apiBase是公開位址,不與密碼混為一談。
回到自己的作品,逐項檢查
- 公開檔不含假秘密,apiBase與正常功能保留。
- 能說明公開檔、後端設定、私有資料三種範圍。
- 未實際完成的AI、發布或裝置驗收記待完成。
需要對照?看這一關的參考成果
先檢查自己的作品,再對照差異。開啟參考不會算完成。
查看前端參考畫面(完整操作請下載參考包)(另開分頁)線上只看前端畫面;完整操作請下載。本頁不提供案件API。把參考包解壓到新的資料夾,先讀 OPEN_REFERENCE.html,再啟動隨包後端;不要覆蓋自己的作品或案件。
下載本關可啟動參考包尚未完成可以先往下看,之後再回來補做。
保留依據與結果,再帶著作品往下走。
保留自己的修改差異與檢查結果。完成兩項操作確認再往下一關;也可以先閱讀,稍後補做。
關卡紀錄由你自行確認;本頁不會讀取 Cursor 檔案或自動驗收作品。
留下自己的檢查紀錄
這是第 25 堂共用筆記,換關卡仍會保留。未實際做過的操作寫「待完成」。
重設會清除第 25 堂六步勾選,筆記、另一堂進度與網站檔案保留。