---
title: "Supabase leaked password protection: ką ji blokuoja"
description: "Ką tikrina Supabase leaked password protection, kodėl jai reikia Pro plano, kaip dažnai įprasti slaptažodžiai pasirodo nutekėjimuose ir ką nustatyti be jos."
url: "https://madsalt.tech/lt/notes/supabase-leaked-password-protection/"
author: "Denys Zaichenko"
author_url: "https://madsalt.tech/lt/about/"
language: "lt"
published: 2026-10-30
---

# Supabase leaked password protection: ką ji blokuoja

Trumpai

Leaked password protection priverčia Supabase Auth atmesti slaptažodžius, esančius Have I Been Pwned nutekėjimų duomenų rinkinyje. Ji prieinama Pro plane ir aukštesniuose. 2026 m. spalio 23 d. šiame rinkinyje `password123` buvo 2 266 543 kartus, o mano vietinis Supabase Auth su numatytaisiais nustatymais jį priėmė registracijos metu. Ji nevertina stiprumo: `Lovable2026!` pasirodė 0 kartų. Įjunkite ją, kur galite, ir bet kuriuo atveju nustatykite ilgesnį mažiausią ilgį.

Mano nemokamas [Supabase saugos tikrintuvas](https://madsalt.tech/lt/tools/supabase-security-check/) skaito projekto Auth nustatymus, o „Nutekėjusių slaptažodžių apsauga išjungta" yra viena jo taisyklių, šalia „Trumpas mažiausias slaptažodžio ilgis". Ši pastaba paaiškina, ką nustatymas iš tikrųjų tikrina, su skaičiais, kuriuos pasiėmiau iš tos pačios paslaugos, kurią jis naudoja.

## Kas yra leaked password protection Supabase?

Tai vienas iš slaptažodžių nustatymų jūsų projekto Auth nustatymuose Dashboard. Kai jis įjungtas, Supabase Auth tikrina kiekvieną naują slaptažodį pagal Have I Been Pwned paslaugą [Pwned Passwords](https://haveibeenpwned.com/Passwords) ir atmeta tuos, kurie ten rasti. Supabase [password security guide](https://supabase.com/docs/guides/auth/password-security) jį išvardija kartu su mažiausiu ilgiu ir privalomais simboliais ir pažymi, kad jis prieinamas Pro plane ir aukštesniuose.

Patikra slaptažodžio niekada nesiunčia. Pwned Passwords naudoja k-anonymity intervalo užklausą: klientas slaptažodį sumaišo SHA-1, išsiunčia tik pirmus 5 maišos simbolius ir grąžintas priesagas palygina vietoje.

## Kaip dažnai įprasti slaptažodžiai pasirodo nutekėjimuose?

Pati paleidau tą pačią intervalo užklausą 2026 m. spalio 23 d. keliems slaptažodžiams, kuriuos matau bandomosiose paskyrose ir AI sugeneruotuose pradiniuose duomenyse:

![Kiek kartų slaptažodis matytas nutekėjimuose. Pwned Passwords range API, 2026 m. spalio 23 d. qwerty123: 13 871 714; password123: 2 266 543; Password1!: 584 516; Welcome1!: 239 099; Summer2026!: 45; supabase123: 7; Lovable2026!: 0.](https://madsalt.tech/charts/lt/supabase-leaked-password-protection.svg)

*Šaltinis: Have I Been Pwned Pwned Passwords range API, užklausta 2026 m. spalio 23 d.*

| Slaptažodis    | Kiek kartų matytas nutekėjimuose |
| -------------- | -------------------------------- |
| `123456`       | 210 461 208                      |
| `qwerty123`    | 13 871 714                       |
| `password123`  | 2 266 543                        |
| `Password1!`   | 584 516                          |
| `Welcome1!`    | 239 099                          |
| `Summer2026!`  | 45                               |
| `supabase123`  | 7                                |
| `Lovable2026!` | 0                                |

`123456` diagramoje praleistas, nes jis suploktų visus kitus stulpelius. Paskutinės trys eilutės yra esmė: slaptažodis gali nebūti jokiame nutekėjime ir vis tiek būti lengvai atspėjamas. Leaked password protection sustabdo credential stuffing su žinomais slaptažodžiais. Ji nematuoja stiprumo.

## Kas nutinka be jos?

Vietinėje Supabase aplinkoje (CLI 2.109.1, Auth v2.192.0) su numatytaisiais nustatymais užregistravau bandomąjį vartotoją su slaptažodžiu `password123`. Auth atsakė `200` ir sukūrė vartotoją. Vienintelis dalykas, kurį jis atmetė, buvo 5 simbolių slaptažodis, su `422 weak_password` ir priežastimi `length`, nes vietinis numatytasis mažiausias ilgis yra 6 simboliai.

Taigi be šio nustatymo tarp vartotojo ir milijonus kartų nutekėjusio slaptažodžio nieko nėra, išskyrus ilgio taisyklę.

## Ką nustatyti?

1. **Pro plane ir aukštesniuose:** įjunkite leaked password protection. Esami vartotojai toliau prisijungia, o pagal vadovą tie, kurių slaptažodis neatitinka naujų reikalavimų, gauna `WeakPasswordError`, paaiškinantį priežastį, todėl galite paprašyti juos slaptažodį pakeisti.
2. **Bet kuriame plane:** padidinkite mažiausią ilgį. Vadovas viską, kas trumpiau nei 8 simboliai, vadina nerekomenduojamu; mano tikrintuvo taisyklė siūlo 12 ar daugiau.
3. **Reikalaukite simbolių klasių** tik jei jūsų vartotojai su tuo susitvarko; ilgis duoda daugiau nei privalomas simbolis.
4. **Pridėkite MFA** svarbioms paskyroms ir slaptažodžio keitimui reikalaukite dabartinio slaptažodžio arba pakartotinio autentifikavimo nonce; abu yra tame pačiame vadove.

Leaked password protection yra vienas iš kelių Auth nustatymų, egzistuojančių tik talpinamo projekto konfigūracijoje, o ne jūsų repozitorijoje. Visa kita, ką tikrinu Supabase programoje, nuo RLS iki prisijungimo užklausų limitų, yra mano [Lovable programos saugos sąraše](https://madsalt.tech/lt/blog/lovable-app-security-checklist/), o ką Supabase apima ir kas yra jūsų, rasite straipsnyje [ar Supabase saugus](https://madsalt.tech/lt/blog/is-supabase-secure/).
