ផលប៉ះពាល់
ZXCVFIXVIBESEG ៤ អ្នកវាយប្រហារអាចរំលងតក្កវិជ្ជាកម្មវិធីដើម្បីអាន ធ្វើបច្ចុប្បន្នភាព ឬលុបកំណត់ត្រាក្នុងមូលដ្ឋានទិន្នន័យ ប្រសិនបើ Row Level Security (RLS) មិនត្រូវបានអនុវត្តត្រឹមត្រូវ [S1] ។ នេះច្រើនតែបណ្តាលឱ្យមានការលាតត្រដាងនៃព័ត៌មានអត្តសញ្ញាណផ្ទាល់ខ្លួន (PII) ឬទិន្នន័យកម្មវិធីរសើបចំពោះអ្នកប្រើប្រាស់ដែលមានសិទ្ធិចូលប្រើសោសាធារណៈអនាមិក API ប៉ុណ្ណោះ។
ZXCVFIXVIBESEG ៥
មូលហេតុ
ZXCVFIXVIBESEG ៦ Supabase ប្រើប្រាស់ Postgres Row Level Security ដើម្បីគ្រប់គ្រងការចូលប្រើទិន្នន័យនៅកម្រិតមូលដ្ឋានទិន្នន័យ ដែលជាមូលដ្ឋានគ្រឹះសម្រាប់ការធានាទិន្នន័យ [S1] ។ នៅក្នុងបរិយាកាស Next.js អ្នកអភិវឌ្ឍន៍ត្រូវតែបង្កើតម៉ាស៊ីនភ្ញៀវ Supabase ដែលគ្រប់គ្រងខូគី និងវគ្គឱ្យបានត្រឹមត្រូវ ដើម្បីរក្សាសុវត្ថិភាពកំឡុងពេលបង្ហាញផ្នែកខាងម៉ាស៊ីនមេ [S2] ។ ភាពងាយរងគ្រោះជាធម្មតាកើតឡើងនៅពេលដែល៖ ZXCVFIXVIBESEG ៧
- តារាងត្រូវបានបង្កើតដោយមិនបើក RLS ដែលធ្វើឱ្យពួកវាអាចចូលប្រើបានតាមរយៈកូនសោសាធារណៈ [S1] ។
ZXCVFIXVIBESEG ៨
- ម៉ាស៊ីនភ្ញៀវ Supabase ត្រូវបានកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវនៅក្នុង Next.js ដោយបរាជ័យក្នុងការបញ្ជូនសញ្ញាសម្ងាត់នៃការផ្ទៀងផ្ទាត់អ្នកប្រើប្រាស់ឱ្យបានត្រឹមត្រូវទៅមូលដ្ឋានទិន្នន័យ [S2] ។
- អ្នកអភិវឌ្ឍន៍ប្រើប្រាស់សោ
service_roleដោយចៃដន្យនៅក្នុងកូដភាគីអតិថិជន ដែលរំលងគោលការណ៍ RLS ទាំងអស់ [S1] ។
ZXCVFIXVIBESEG ១០
ជួសជុលបេតុង
ZXCVFIXVIBESEG ១១
- បើកដំណើរការ RLS: ធានាថា Row Level Security ត្រូវបានបើកសម្រាប់រាល់តារាងក្នុង Supabase របស់អ្នក [S1] ។
ZXCVFIXVIBESEG ១២
- កំណត់គោលការណ៍៖ បង្កើតគោលការណ៍ Postgres ជាក់លាក់សម្រាប់
SELECT,INSERT,UPDATE, និងDELETEដើម្បីរឹតបន្តឹងការចូលប្រើប្រាស់ដោយផ្អែកលើ UID4VIBETOKEN1ZXCV របស់អ្នកប្រើប្រាស់។
ZXCVFIXVIBESEG ១៣
- ប្រើប្រាស់ SSR Clients៖ អនុវត្តកញ្ចប់
@supabase/ssrដើម្បីបង្កើតអតិថិជននៅក្នុង Next.js ដែលគ្រប់គ្រងការផ្ទៀងផ្ទាត់ផ្នែកខាងម៉ាស៊ីនមេ និងការបន្តវេន [S2] យ៉ាងត្រឹមត្រូវ។
របៀបដែល FixVibe ធ្វើតេស្តសម្រាប់វា។
ZXCVFIXVIBESEG ១៥ FixVibe គ្របដណ្តប់វារួចហើយតាមរយៈការត្រួតពិនិត្យកម្មវិធីដែលបានដាក់ពង្រាយ និង repo ។ ម៉ូឌុល baas.supabase-rls អកម្មរកឃើញ Supabase URL និងគូសោអនាមិកពីកញ្ចប់ JavaScript ដែលមានប្រភពដើមដូចគ្នា សួរ PostgREST សម្រាប់ទិន្នន័យមេតាតារាងសាធារណៈ និងអនុវត្តការជ្រើសរើសអានតែមានកំណត់ ដើម្បីបញ្ជាក់ការប៉ះពាល់ទិន្នន័យអនាមិក ដោយមិនផ្លាស់ប្តូរទិន្នន័យអតិថិជន។ ការស្កេន Repo ក៏ដំណើរការ repo.supabase.missing-rls ដើម្បីដាក់ទង់ការធ្វើចំណាកស្រុក SQL ដែលបង្កើតតារាងសាធារណៈដោយគ្មាន ENABLE ROW LEVEL SECURITY ហើយការស្កែនសំងាត់រកមើលការបង្ហាញសោរតួនាទីសេវាកម្ម មុនពេលវាទៅដល់កម្មវិធីរុករក។
