NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Media Library for Laravel

Bezpečnosť uploadu

Každý názov a typ, ktorý sa dostane do úložiska, sa považuje za nedôveryhodný:

  • Mime typ sa rozpozná z bajtov (ext-fileinfo) — nikdy sa nepreberá od klienta, z hlavičky Content-Type vzdialeného servera ani z metadát disku.
  • Uložený názov je jeden bezpečný segment cesty. Časti adresárov, oddeľovače a riadiace znaky sa z názvu od klienta aj z usingFileName() odstránia, takže názov sa nikdy nedostane mimo adresára média.
  • Prípona nemôže klamať o aktívnom obsahu. Prípona, ktorú môže webový server spustiť (.php, .phtml, .shtml, …), sa nikdy neuloží a prípona, ktorú spúšťa prehliadač (.html, .svg, .js, …), sa ponechá, len ak bajty naozaj zodpovedajú tomuto typu — PNG nahraté ako x.html sa uloží ako x.png. Pravdivé či neškodné prípony (IMG_0001.JPG, data.csv) zostanú.
  • addFromUrl() sťahuje len URL s http/https, rešpektuje media.remote.timeout a odmietne telo nad limitom veľkosti. Stiahne však z akéhokoľvek hostu, ktorý dostane: ak URL pochádza od používateľa, najprv host overte voči allowlistu — inak ho môže nasmerovať do vašej internej siete (SSRF).
  • Skupina bez acceptsMimeTypes() prijme akýkoľvek typ vrátane HTML a SVG. Každej skupine s uploadmi od používateľov dajte allowlist.

Rovnako zabezpečené je aj servírovanie — v časti URL, streaming a sťahovanie nájdete, ktoré typy streamovacia routa servíruje inline a prečo súkromné médiá potrebujú súkromný disk.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.