Drobne poprawki bezpieczenstwa z audytu
Deploy Polska Lokalnie / deploy (push) Successful in 12s

- /api/listings/favorites i /mine/** wymagaja logowania (anonimowo byl blad 500).
- Nowa rozmowa tylko o opublikowanym ogloszeniu.
- Licznik wyswietlen: jedno wyswietlenie na IP i ogloszenie na godzine.
- Rezygnacja z mailingu: GET pyta o potwierdzenie, wypisuje dopiero POST
  (tez z przycisku programu pocztowego); podpis porownywany w stalym czasie.
- Usuniecie konta usuwa jego ogloszenia.
- Haslo przy rejestracji min. 8 znakow; resend-phone-otp nie zdradza, czy konto istnieje.
- docker-compose.prod.yml bez domyslnego Admin123!; bez hasla konto admina
  nie jest zakladane (blad w logu).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-23 17:03:05 +02:00
parent a53cae7c37
commit ad1d573e89
18 changed files with 340 additions and 45 deletions
+4 -4
View File
@@ -12724,7 +12724,7 @@ function LoginPage({ onLogin }: { onLogin: (user: AuthUser) => void }) {
value={password}
onChange={(event) => setPassword(event.target.value)}
autoComplete="new-password"
minLength={6}
minLength={8}
required
/>
<button
@@ -12746,7 +12746,7 @@ function LoginPage({ onLogin }: { onLogin: (user: AuthUser) => void }) {
value={confirmPassword}
onChange={(event) => setConfirmPassword(event.target.value)}
autoComplete="new-password"
minLength={6}
minLength={8}
required
/>
<button
@@ -12901,7 +12901,7 @@ function LoginPage({ onLogin }: { onLogin: (user: AuthUser) => void }) {
value={password}
onChange={(event) => setPassword(event.target.value)}
autoComplete="new-password"
minLength={6}
minLength={8}
required
/>
<button
@@ -12923,7 +12923,7 @@ function LoginPage({ onLogin }: { onLogin: (user: AuthUser) => void }) {
value={confirmPassword}
onChange={(event) => setConfirmPassword(event.target.value)}
autoComplete="new-password"
minLength={6}
minLength={8}
required
/>
<button