<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

      Supabase 安全防坑指南:你的 anon key 其實(shí)是透明的

      0
      分享至

      Supabase 安全防坑指南:你的 anon key 其實(shí)是透明的


      最佳策略,沒(méi)有絕對(duì)把握不要自己做用戶(hù)登錄和收付款。只需要抱大腿。比如在Steam,Apple,微信等平臺(tái)發(fā)布產(chǎn)品。

      在使用 Supabase 開(kāi)發(fā)項(xiàng)目時(shí),我發(fā)現(xiàn)很多新手(包括早期的我)都會(huì)有一個(gè)誤區(qū):覺(jué)得只要把anon key藏在環(huán)境變量里就安全了。

      但事實(shí)是:你的anon key根本不是秘密。它是發(fā)送給瀏覽器和客戶(hù)端的,任何人都能拿到。

      Supabase 的安全護(hù)城河不在于隱藏這個(gè) key,而在于你的RLS(行級(jí)安全策略)

      今天我整理了一份 Supabase 安全硬化指南,如果你正在用它做小項(xiàng)目,建議對(duì)照檢查。

      核心風(fēng)險(xiǎn):那把“萬(wàn)能鑰匙”

      Supabase 提供了兩把鑰匙:

      1. anonkey:公開(kāi)的。就像你家大門(mén)的把手,誰(shuí)都能摸到。
      2. service_rolekey:超級(jí)管理員。它會(huì)繞過(guò)所有的 RLS 限制。絕對(duì)不能暴露在客戶(hù)端代碼里!

      如果你的數(shù)據(jù)漏了,通常不是因?yàn)?key 被盜,而是因?yàn)槟愕?RLS 策略(Row Level Security)根本沒(méi)開(kāi),或者寫(xiě)得太松。

      常見(jiàn)的幾個(gè)“大坑”

      在看代碼前,先看看這幾個(gè)典型的翻車(chē)現(xiàn)場(chǎng):

      • 完全沒(méi)開(kāi)啟 RLS:這是頭號(hào)死法。只要沒(méi)開(kāi),anon角色就能通過(guò) REST API 讀寫(xiě)所有數(shù)據(jù)。
      • 過(guò)于寬容的策略:比如FOR SELECT USING (true),這相當(dāng)于直接把數(shù)據(jù)表公開(kāi)給全人類(lèi)。
      • 盲目信任客戶(hù)端傳來(lái)的 User ID:如果你在策略里用user_id = request.body.user_id,黑客只需要改一下請(qǐng)求包里的 ID,就能看別人的數(shù)據(jù)。
      動(dòng)手硬化:小項(xiàng)目的 5 步安全策略 第一步:開(kāi)啟 RLS,立刻,馬上!

      在插入任何數(shù)據(jù)前,先執(zhí)行這一句。默認(rèn)情況下,開(kāi)啟 RLS 但不寫(xiě) Policy,意味著“零訪問(wèn)”。

      ALTER TABLE your_table ENABLE ROW LEVEL SECURITY;
      第二步:只信任auth.uid()

      永遠(yuǎn)不要相信客戶(hù)端發(fā)來(lái)的 User ID。Supabase 的 JWT 是經(jīng)過(guò)驗(yàn)證的,用auth.uid()才是防篡改的。

      -- ? 安全做法:通過(guò)驗(yàn)證后的 JWT 獲取當(dāng)前用戶(hù) ID
      CREATE POLICY "own_data_only" ON notes
        FOR ALL USING (auth.uid() = user_id)
        WITH CHECK (auth.uid() = user_id);
      第三步:顯式限制anon角色

      除非你明確需要公開(kāi),否則默認(rèn)應(yīng)該拒絕匿名訪問(wèn)。比如,只允許匿名用戶(hù)讀取設(shè)為“公開(kāi)”的文章:

      -- 只允許讀取公開(kāi)內(nèi)容
      CREATE POLICY "public_posts" ON posts
        FOR SELECT USING (is_public = true);
      第四步:使用SECURITY DEFINER函數(shù)

      對(duì)于復(fù)雜的邏輯,建議寫(xiě)成 Postgres 函數(shù)并放在服務(wù)端運(yùn)行。

      CREATE FUNCTION get_my_profile()
      RETURNS json
      LANGUAGE sql
      SECURITY DEFINER  -- 以函數(shù)所有者權(quán)限運(yùn)行,而非調(diào)用者
      AS $$
        SELECT row_to_json(profiles) FROM profiles WHERE id = auth.uid();
      $$;
      第五步:別忘了 Storage 存儲(chǔ)桶

      即便表鎖死了,如果 Storage Bucket 設(shè)為 Public,里面的文件依然是裸奔的。建議針對(duì)文件夾做 RLS:

      -- 只允許用戶(hù)上傳到自己的文件夾
      CREATE POLICY "user_folder_only" ON storage.objects
        FOR INSERT WITH CHECK (
          auth.uid()::text = (storage.foldername(name))[1]
        );
      我的安全 CheckList

      每次項(xiàng)目上線前,我會(huì)掃一遍清單:

      • 所有表都開(kāi)啟了 RLS
      • 策略里全部使用auth.uid()
      • service_rolekey 只存在于服務(wù)端的.env
      • .env已經(jīng)加到了.gitignore
      • 在 Supabase Dashboard 的 Policy 模擬器里測(cè)過(guò)anon權(quán)限
      • 對(duì)敏感表禁用了 Realtime 實(shí)時(shí)訂閱
      結(jié)語(yǔ)

      記住 Supabase 安全的黃金法則:把你的anon key當(dāng)成完全公開(kāi)的東西。你的安全模型必須完全建立在 RLS 策略和數(shù)據(jù)庫(kù)函數(shù)上。

      如果你在做測(cè)試項(xiàng)目,最快的安全方案就是:給每張表都開(kāi) RLS,但不寫(xiě)任何 Policy,直到你明確知道哪裡需要開(kāi)放。

      希望這些經(jīng)驗(yàn)?zāi)軒湍惚荛_(kāi)數(shù)據(jù)外泄的坑!

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點(diǎn)推薦
      劉詩(shī)詩(shī)和唐嫣沖上熱搜!曝離婚分割財(cái)產(chǎn)完畢,為爭(zhēng)撫養(yǎng)權(quán)做出妥協(xié)

      劉詩(shī)詩(shī)和唐嫣沖上熱搜!曝離婚分割財(cái)產(chǎn)完畢,為爭(zhēng)撫養(yǎng)權(quán)做出妥協(xié)

      離離言幾許
      2026-03-20 15:24:58
      爽,公司全員裁撤,就地解散!

      爽,公司全員裁撤,就地解散!

      黯泉
      2026-03-21 12:20:16
      殲20總師被除名:長(zhǎng)期領(lǐng)導(dǎo)軍工央企,最近照流出,事發(fā)全過(guò)程披露

      殲20總師被除名:長(zhǎng)期領(lǐng)導(dǎo)軍工央企,最近照流出,事發(fā)全過(guò)程披露

      博士觀察
      2026-03-20 21:41:54
      伊朗外長(zhǎng)說(shuō)尋求徹底結(jié)束戰(zhàn)爭(zhēng)而非臨時(shí)停火

      伊朗外長(zhǎng)說(shuō)尋求徹底結(jié)束戰(zhàn)爭(zhēng)而非臨時(shí)?;?/a>

      新華社
      2026-03-21 16:10:04
      英國(guó)授權(quán)美軍使用其軍事基地實(shí)施打擊,伊朗:此舉正將英國(guó)民眾置于危險(xiǎn)之中,將行使自衛(wèi)權(quán)回應(yīng)

      英國(guó)授權(quán)美軍使用其軍事基地實(shí)施打擊,伊朗:此舉正將英國(guó)民眾置于危險(xiǎn)之中,將行使自衛(wèi)權(quán)回應(yīng)

      揚(yáng)子晚報(bào)
      2026-03-21 07:24:52
      “梅姨”落網(wǎng)!系張維平等人拐賣(mài)兒童案關(guān)鍵人物,被拐兒童家長(zhǎng):我一直堅(jiān)信她真實(shí)存在

      “梅姨”落網(wǎng)!系張維平等人拐賣(mài)兒童案關(guān)鍵人物,被拐兒童家長(zhǎng):我一直堅(jiān)信她真實(shí)存在

      瀟湘晨報(bào)
      2026-03-21 12:29:14
      伊朗發(fā)動(dòng)大規(guī)模打擊,還要全球追殺美以官員:在國(guó)外度假也“不再安全”!伊最高領(lǐng)袖新年致辭:發(fā)展“抵抗經(jīng)濟(jì)”,增強(qiáng)國(guó)家韌性

      伊朗發(fā)動(dòng)大規(guī)模打擊,還要全球追殺美以官員:在國(guó)外度假也“不再安全”!伊最高領(lǐng)袖新年致辭:發(fā)展“抵抗經(jīng)濟(jì)”,增強(qiáng)國(guó)家韌性

      每日經(jīng)濟(jì)新聞
      2026-03-21 00:59:04
      伊朗用什么秘密武器擊中美軍F-35戰(zhàn)機(jī)?“慢吞吞導(dǎo)彈”卡“隱身神話(huà)”BUG

      伊朗用什么秘密武器擊中美軍F-35戰(zhàn)機(jī)?“慢吞吞導(dǎo)彈”卡“隱身神話(huà)”BUG

      紅星新聞
      2026-03-21 14:38:47
      對(duì)話(huà)“梅姨”模擬畫(huà)像繪制者林宇輝:我知道遲早有天她會(huì)落網(wǎng)

      對(duì)話(huà)“梅姨”模擬畫(huà)像繪制者林宇輝:我知道遲早有天她會(huì)落網(wǎng)

      南方都市報(bào)
      2026-03-21 15:14:07
      巴拿馬這回真傻了!搶了港口才發(fā)現(xiàn),全世界沒(méi)人敢接盤(pán)

      巴拿馬這回真傻了!搶了港口才發(fā)現(xiàn),全世界沒(méi)人敢接盤(pán)

      小舟談歷史
      2026-03-21 09:21:49
      突發(fā)!伊朗導(dǎo)彈襲擊美英印度洋基地,距伊本土大約3800公里!此前英國(guó)允許美軍使用其軍事基地實(shí)施打擊,伊朗回應(yīng):將行使自衛(wèi)權(quán)

      突發(fā)!伊朗導(dǎo)彈襲擊美英印度洋基地,距伊本土大約3800公里!此前英國(guó)允許美軍使用其軍事基地實(shí)施打擊,伊朗回應(yīng):將行使自衛(wèi)權(quán)

      每日經(jīng)濟(jì)新聞
      2026-03-21 09:58:04
      外媒:美國(guó)一男子五天內(nèi)在紐約費(fèi)盡心思搶劫六家銀行,最終僅得手605美元

      外媒:美國(guó)一男子五天內(nèi)在紐約費(fèi)盡心思搶劫六家銀行,最終僅得手605美元

      環(huán)球網(wǎng)資訊
      2026-03-21 15:58:49
      霍爾木茲海峽之戰(zhàn)

      霍爾木茲海峽之戰(zhàn)

      新民周刊
      2026-03-21 09:08:51
      家長(zhǎng)注意了!這些全是“假牛奶”!別再整箱往家搬了!花錢(qián)還坑娃

      家長(zhǎng)注意了!這些全是“假牛奶”!別再整箱往家搬了!花錢(qián)還坑娃

      觀察鑒娛
      2026-03-21 12:39:12
      福建寧德一派出所教導(dǎo)員辦公室猥褻15歲女生,一審被判2年9個(gè)月,家屬欲申請(qǐng)抗訴

      福建寧德一派出所教導(dǎo)員辦公室猥褻15歲女生,一審被判2年9個(gè)月,家屬欲申請(qǐng)抗訴

      大風(fēng)新聞
      2026-03-21 11:58:12
      38萬(wàn)老車(chē)主看完新SU7配置單,沉默了……

      38萬(wàn)老車(chē)主看完新SU7配置單,沉默了……

      道哥說(shuō)車(chē)
      2026-03-20 10:17:01
      “梅姨”現(xiàn)身并落網(wǎng)!對(duì)販賣(mài)兒童事實(shí)供認(rèn)不諱,已被依法逮捕

      “梅姨”現(xiàn)身并落網(wǎng)!對(duì)販賣(mài)兒童事實(shí)供認(rèn)不諱,已被依法逮捕

      南方都市報(bào)
      2026-03-21 11:35:00
      4月1日后去醫(yī)院,只帶醫(yī)保卡可能吃大虧,這兩樣缺一不可

      4月1日后去醫(yī)院,只帶醫(yī)??赡艹源筇潱@兩樣缺一不可

      萬(wàn)物知識(shí)圈
      2026-03-21 07:12:41
      “梅姨”落網(wǎng),她參與拐賣(mài)的9個(gè)孩子已找到、曾被質(zhì)疑是否真有其人

      “梅姨”落網(wǎng),她參與拐賣(mài)的9個(gè)孩子已找到、曾被質(zhì)疑是否真有其人

      澎湃新聞
      2026-03-21 13:44:26
      高市早苗的一張照片引爆日本全網(wǎng):女首相的外交已淪為全民笑柄!

      高市早苗的一張照片引爆日本全網(wǎng):女首相的外交已淪為全民笑柄!

      行者聊官
      2026-03-21 14:38:25
      2026-03-21 16:28:49
      教你畫(huà)像素畫(huà) incentive-icons
      教你畫(huà)像素畫(huà)
      像素畫(huà)教程
      2364文章數(shù) 12205關(guān)注度
      往期回顧 全部

      科技要聞

      宇樹(shù)招股書(shū)拆解,人形機(jī)器人出貨量第一!

      頭條要聞

      媒體:美稱(chēng)"將不再守衛(wèi)霍爾木茲海峽" 或逼迫盟友接手

      頭條要聞

      媒體:美稱(chēng)"將不再守衛(wèi)霍爾木茲海峽" 或逼迫盟友接手

      體育要聞

      誰(shuí)在決定字母哥未來(lái)?

      娛樂(lè)要聞

      CMG盛典獲獎(jiǎng)名單:章子怡高葉同獲影后

      財(cái)經(jīng)要聞

      通脹警報(bào)拉響,加息潮要來(lái)了?

      汽車(chē)要聞

      小鵬汽車(chē)2025年Q4盈利凈賺3.8億 全年?duì)I收767億

      態(tài)度原創(chuàng)

      本地
      教育
      游戲
      手機(jī)
      房產(chǎn)

      本地新聞

      春色滿(mǎn)城關(guān)不住|紹興春日頂流,這片櫻花海藏不住了

      教育要聞

      廢掉一個(gè)孩子最快的方式:偷走他的靈氣!3個(gè)行為家長(zhǎng)每天都在做

      任天堂準(zhǔn)備于歐洲推出可更換電池的Switch 2?

      手機(jī)要聞

      一加15T來(lái)襲!高性能天線與電競(jìng)芯片加持

      房產(chǎn)要聞

      全城狂送1000杯咖啡!網(wǎng)易房產(chǎn)【早C計(jì)劃】,即刻啟動(dòng)!

      無(wú)障礙瀏覽 進(jìn)入關(guān)懷版