Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Add rate limiting to auth, public share pages and metadata fetching

Aperta
#48 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
html

Direzione di ricerca

Inizia da LearnStack/Components/Pages/SharedView.razor:4 e LearnStack.Core/Extensions/ServiceCollectionExtensions.cs:29-34, quindi traccia gli entry point di /Account/*, /shared/{token}, /friends/accept/{token} e delle richieste OpenGraph. Il lavoro è completato quando i tentativi di accesso ripetuti restituiscono 429, l’enumerazione dei share-token è soggetta a throttling e un singolo utente non può saturare le richieste HTTP in uscita.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Tier 2 — security

Problem

Nothing in the app is throttled. In particular:

  • Login and registration accept unlimited attempts (Identity lockout helps, but only per-account).
  • /shared/{token} is anonymous and unthrottled, so share tokens can be brute-forced and the page is a free amplification target (it loads full resource rows including thumbnails).
  • The metadata fetcher lets any authenticated user make the server issue arbitrary outbound HTTP requests on demand, with no per-user budget.
Evidence
  • No AddRateLimiter anywhere in the repository
  • LearnStack/Components/Pages/SharedView.razor:4 — [AllowAnonymous]
  • LearnStack.Core/Extensions/ServiceCollectionExtensions.cs:29-34 — unthrottled HttpClient
Proposed fix
  1. builder.Services.AddRateLimiter(...) with a fixed window on /Account/*.
  2. A per-IP window on /shared/{token} and /friends/accept/{token}.
  3. A per-user concurrency limiter around OpenGraph fetches.
Acceptance criteria
  • Repeated login attempts from one IP are throttled with 429
  • Share-token enumeration is rate-limited
  • One user cannot saturate the outbound HTTP client
Lingua principale
HTML
Stelle
10
Fork
0
Merge medio
2h 35m
PR unite (30g)
21

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di kasuken/LearnStack

Tutte le issue di kasuken/LearnStack

Issue simili

Altre issue su Security

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.