Kung ang sinumang naka-log in na user ay makakabasa ng mga row ng ibang user, ang iyong database ay nagtitiwala sa app na kumilos nang tama. Ililipat ko ang panuntunan sa PostgreSQL mismo gamit ang mga patakaran at tungkulin sa seguridad ng row-level, pagkatapos ay patunayan sa mga pagsubok na hindi maabot ng isang user ang data ng ibang user.
Ise-set up ko ang PostgreSQL row-level security para makita lang ng bawat user ang sarili nilang data, kasama ang Supabase
Isang pagsusuri sa seguridad sa antas ng row ng hanggang 5 na talahanayan, na ang bawat puwang ay ipinapakita ng isang query.
- Pagsusuri ng hanggang 5 na talahanayan
- Nakكتulat na ulat
- Mga halimbawang query
Mga patakaran at tungkulin sa hanggang 10 na talahanayan, na may mga pagsubok na nagpapatunay na ang mga patakaran ay umiiral.
- Mga patakaran sa hanggang 10 na talahanayan
- Nakكتulat na ulat
- Mga halimbawang query
Hanggang 25 na talahanayan, mga limitasyon sa plano sa database, mga migration at pagsubok sa CI.
- Hanggang 25 na talahanayan, mga limitasyon sa plano, CI
- Nakكتulat na ulat
- Mga halimbawang query
Humiling ng Custom na Alok
Mag-log In para Humiling ng Custom na Alok
Gumawa ng libreng account o mag-log in para humiling ng personalized na alok mula sa Zinner na ito.
Mag-log In / MagrehistroMagtanong ng Pre-Sale Question
Mag-log In para Magtanong
Upang mabawasan ang spam sa platform, ang mga mensahe bago ang pagbebenta ay maaari lamang ipadala ng mga naka-log in na user.
Gumawa ng libreng account o mag-log in para direktang mag-mensahe sa Zinner na ito.
Mag-log In / MagrehistroKinakailangan ang pag-log in
Gumawa ng libreng account o mag-log in para mag-message sa Zinner na ito.
Mag-log In / MagrehistroKinakailangan ang pag-log in
Gumawa ng libreng account o mag-log in para humiling ng personalized na alok.
Mag-log In / MagrehistroSa Isang Sulyap
Mga pangunahing detalye tungkol sa serbisyong ito upang matulungan kang magpasya. Binuo ng Zinn Hub, hindi ng nagbebenta.
Posisyon ng Halaga
Layer ng Pagpapatupad
Mga Sinusuportahang Platform
Patunay ng Trabaho
Format ng Paghahatid
Ano ang Matatanggap Mo
Buong Deskripsyon
Anumang app na may mga user account, bayad na plano o ilang team sa isang database ay kailangang magpasya kung sino ang makakakita ng aling mga row. Kung ang panuntunang iyon ay nakatira lamang sa code ng app, nabibigo ito sa unang pagkakataon na maabot ng isang tao ang data sa ibang paraan: isang bagong endpoint na nakalimutan ng isang tao na bantayan, isang pangalawang app sa parehong database, o ang API na nabuo ng Supabase para sa iyong mga talahanayan. Inilalagay ng seguridad sa antas ng row ang panuntunan kung nasaan ang data.
Nagawa ko ito sa isang produkto ng subscription sa ilalim ng NDA: mga patakaran sa seguridad sa antas ng row sa mga talahanayan at isang hiwalay na tungkulin sa database para sa bawat tier ng subscription, kaya ang kasama sa isang plano ay ipinapatupad ng PostgreSQL, hindi ng isang tseke na maaaring makalimutan ng isang tao.
Sa Starter, sinusuri ko ang mga patakaran na mayroon o wala ang hanggang limang talahanayan at nagpapadala ng nakasulat na listahan ng mga puwang, na may halimbawang query na nagpapakita ng bawat isa. Ang Standard ay nagsusulat o nag-aayos ng mga patakaran sa hanggang sampung talahanayan, nagse-set up ng mga tungkulin na kailangan ng iyong app, naghahatid ng mga ito bilang mga migration file, at nagdaragdag ng mga pagsubok kung saan sinusubukan ng user A na basahin at baguhin ang mga row ng user B at nabibigo. Saklaw ng Advanced ang hanggang dalawampu't limang talahanayan, nagdaragdag ng mga limitasyon sa plano o tier na ipinapatupad sa database, at nagpapatakbo ng mga pagsubok sa CI.
Sa Supabase, nalalapat ang parehong mga feature ng PostgreSQL, na may auth.uid() at ang mga claim ng JWT na ginagamit sa loob ng mga patakaran. Sa plain PostgreSQL, binabasa ng mga patakaran ang kasalukuyang user mula sa isang setting ng session na itinakda ng iyong backend para sa bawat kahilingan.
Walang tawag. Ang bawat package ay nagtatapos sa isang plain-language na tala kung sino ang makakakita kung ano; sa Standard at Advanced, ang mga patakaran ay dumarating din bilang mga migration sa iyong repository, kasama ang mga pagsubok. Para sa 14 araw pagkatapos ng paghahatid, inaayos ko ang anumang hindi gumagana ayon sa napagkasunduan, nang walang bayad.
Mga hakbang para sa pagkumpleto ng iyong proyek
1. I-map ang data - Inililista ko ang mga talahanayan, kung sino ang nagmamay-ari ng bawat row, at kung sino ang dapat magbasa o magbago nito: mga may-ari, miyembro ng team, admin, bawat plano.
2. Suriin kung ano ang umiiral - Ang kasalukuyang mga patakaran, mga grant at mga tungkulin ay sinusuri laban sa mapang iyon, at ang bawat puwang ay isinusulat na may query na nagpapakita nito.
3. Mga patakaran at tungkulin - Ang mga patakaran ay isinusulat sa bawat talahanayan at sa bawat aksyon, na may mga tungkulin para sa mga plano o team, bilang mga migration file na maaari mong suriin.
4. Patunayan ito - Ang mga pagsubok ay nagla-log in bilang iba't ibang user at sinusubukang basahin at baguhin ang data ng bawat isa. Ang bawat ipinagbabawal na aksyon ay kailangang mabigo, at ang bawat pinahihintulutang aksyon ay kailangang gumana.
5. Paglilipat - Isang maikling tala sa simpleng salita kung sino ang makakakita kung ano, ang mga migration, at kung paano magdagdag ng patakaran kapag lumitaw ang isang bagong talahanayan.
Zinner Quality Guarantee
Bawat Zinner ay sinusuri at aprubado bago sumali sa platform.
Ang lahat ng serbisyo ay sinusuportahan ng aming pangako sa kalidad ng katiyakan.
Protektado ang iyong bayad hanggang sa aprubahan mo ang naihatid na trabaho.
Ihambing ang mga Package
| Function | Panimula | Standard | Advanced |
|---|---|---|---|
| Oras ng Paghahatid | 2 araw | 5 araw | 10 araw |
| Mga Pagbabago | 1 | 2 | 3 |
| Saklaw | Pagsusuri ng hanggang 5 na talahanayan | Mga patakaran sa hanggang 10 na talahanayan | Hanggang 25 na talahanayan, mga limitasyon sa plano, CI |
| Nakasaad na ulat | ✓ | ✓ | ✓ |
| Mga halimbawang query | ✓ | ✓ | ✓ |
Mga Detalye ng Serbisyo
Mga Madalas Itanong
Pinoprotektahan ng mga tseke ng app ang mga landas na naaalala mo. Saklaw ng seguridad sa antas ng row ang bawat query na tumatakbo sa ilalim ng mga tungkulin ng database ng iyong app, kabilang ang mga endpoint na idinagdag sa ibang pagkakataon at direktang tawag sa API ng Supabase. Ang superuser, mga may-ari ng talahanayan at ang service key ng Supabase ay nilalampasan ito sa disenyo, kaya ang mga kredensyal na iyon ay nananatili sa server. Karamihan sa mga team ay pinapanatili ang parehong uri ng mga tseke.
Maaari, kung ang isang patakaran ay tumatawag ng isang mabagal na function o nawawalan ng index. Isinusulat ko ang mga patakaran na isinasaalang-alang iyon, at inililista ng pagsusuri ang anumang patakaran na nangangailangan ng index.
Hindi. Ang isang schema na walang data ay sapat na upang isulat at subukan ang mga patakaran. Ang mga pagsubok ay tumatakbo sa seed data na nilikha ko.
Hindi. Ang seguridad sa antas ng row sa ganitong anyo ay isang feature ng PostgreSQL, at ang serbisyong ito ay binuo sa paligid ng PostgreSQL.
Mga Review ng Customer
Tingnan kung ano ang sinasabi ng aming mga customer tungkol sa Zinn na ito
Mga Kategorya
Mga Patakaran ng Zinner
Mga Kaugnay na Zinns

buuin ang iyong ai saas mvp gamit ang bubble, n8n, supabase, stripe

bumuo, ayusin, pagbutihin ang web app gamit ang lovable, bolt, replit, supabase, cursor, base44

Ayusin ang anumang isyu sa MySQL, PostgreSQL, MongoDB, Firebase at Supabase




