प्रभाव
पङ्क्तिस्तरसुरक्षा (RLS) कार्यान्वितुं विफलता अप्रमाणित आक्रमणकारिणः Supabase आँकडाकोषात् आँकडान् पृच्छितुं अनुमतिं ददाति यदा सार्वजनिकसारणीः anon सीमा [S1] इत्यस्य माध्यमेन उजागरिताः भवन्ति यतो हि Next.js अनुप्रयोगाः सामान्यतया क्लायन्ट्-पक्षीयसङ्केते Supabase anon कुञ्जीम् उजागरयन्ति, आक्रमणकारी अभिप्रेत-अनुप्रयोग-तर्कं त्यक्त्वा, संवेदनशील-उपयोक्तृ-तर्कं त्यक्त्वा, आँकडाधारं प्रति प्रत्यक्षं REST API-कॉलं कर्तुं एतस्य कुञ्ज्याः उपयोगं कर्तुं शक्नोति सूचना [S2].
मूलकारणम्
पूर्वनिर्धारितरूपेण, Supabase इत्यस्मिन् Postgres सारणीषु सार्वजनिकप्रवेशं निवारयितुं पङ्क्तिस्तरसुरक्षायाः स्पष्टसक्रियीकरणस्य आवश्यकता भवति [S1]. यदा कश्चन विकासकः सारणीं निर्माति परन्तु RLS सक्षमं कर्तुं विस्मरति अथवा प्रतिबन्धकनीतीः परिभाषितुं असफलः भवति तदा आँकडाधारः परियोजनायाः anon कुञ्जी [S1] धारकस्य कस्यचित् कृते आँकडानां उजागरं कर्तुं शक्नोति Next.js अनुप्रयोगेषु, सर्वर-पक्षीय-प्रतिपादनं तथा क्लायन्ट-पक्षीय-आनयम् अपि सावधानीपूर्वकं Supabase क्लायन्ट-सेटअपस्य आवश्यकता भवति अतः प्रमाणीकृतः उपयोक्तृसन्दर्भः आँकडाधारस्तरं [S2] यावत् प्राप्नोति
कंक्रीट फिक्स
- RLS सक्षमं कुर्वन्तु: प्रत्येकस्य सार्वजनिकसारणीयाः कृते
ALTER TABLE "your_table_name" ENABLE ROW LEVEL SECURITY;निष्पादयन्तु यत् एप्लिकेशनदत्तांशं [S1] संग्रहयति। - नीतिः परिभाषयतु: विशिष्टानि नीतयः रचयन्तु ये उपयोक्तुः प्रमाणीकरणस्थितेः आधारेण अभिगमनं प्रतिबन्धयन्ति, यथा
CREATE POLICY "Users can see their own data" ON your_table_name FOR SELECT USING (auth.uid() = user_id);[S1]. - सुरक्षितसर्वर-पक्षीयक्लायन्ट्: Next.js इत्यस्य उपयोगं कुर्वन्, सेवा-भूमिका-क्लायन्ट्-मात्रं सर्वर-रूपेण स्थापयन्तु तथापि उपयोक्तृभ्यः [S2]-इत्यस्मै आँकडान् प्रत्यागन्तुं पूर्वं स्वामित्व-छिद्रं प्रयोजयन्तु
FixVibe तस्य परीक्षणं कथं करोति
FixVibe पूर्वमेव baas.supabase-rls इत्यस्य माध्यमेन केवलं पठनीयं Supabase RLS जाँचं चालयति । स्कैनरः समान-मूल-जावास्क्रिप्ट-बण्डल्-तः Supabase परियोजना URL तथा सार्वजनिक anon कुञ्जीम् आविष्करोति, PostgREST इत्यनेन सार्वजनिक-सारणी-मेटाडाटा-इत्यस्य कृते पृच्छति, तथा च सीमित-मात्र-पठन-चयनस्य प्रयासं करोति यत् एतत् पुष्टयति यत् उपयोक्तृसत्रं विना आँकडा उजागरः भवति वा इति सेवा-भूमिका-प्रमाणपत्राणि न सम्मिलितं, अद्यतनं, विलोपनं, उपयोगं वा न करोति । रेपो स्कैन्स् repo.supabase.missing-rls इत्यस्य माध्यमेन अपि एतत् पूर्वं गृहीतुं शक्नुवन्ति, यत् SQL प्रवासनानि ध्वजयति ये ENABLE ROW LEVEL SECURITY विना सार्वजनिकसारणीः निर्मान्ति ।
