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

Keď server načíta URL adresu, ktorú zadal niekto iný, rozhoduje tento človek o tom, kam sa server pripojí. Presne tak sa útok server-side request forgery (SSRF) dostane k tomu, čo nikdy nemalo byť na internete: k metadátovej službe cloudu, ktorá vydáva prihlasovacie údaje, k databázam a administrácii v privátnej sieti či k samotnej aplikácii zvnútra. Kontrola textu URL nestačí — adresa sa dá zapísať v prestrojení, meno môže smerovať dovnútra, o chvíľu neskôr môže odpovedať inak, presmerovanie môže viesť dovnútra a proxy si môže meno preložiť po svojom. Safe Fetch for Laravel tieto cesty uzatvára pre každú požiadavku, ktorá ním prechádza.

  • Odosielanie webhookov — formulár koncového bodu internú adresu odmietne hneď; keď nastane udalosť, požiadavka odíde cez ochranu, presmerovanie sa kontroluje krok po kroku, prihlasovacie údaje zostanú pri prvom origine a odmietnutie sa nahlási ako konečné, takže úloha prestane opakovať pokusy.
  • Náhľady odkazov — vložený odkaz sa načíta s limitom veľkosti aj času, takže obrovská alebo nekonečná stránka nezablokuje workera, a odkaz smerujúci dovnútra dostane rovnakú neutrálnu správu ako odkaz, ktorý neexistuje.
  • Importy z URL adresy — produktový feed alebo tabuľka sa streamuje na disk s limitom bajtov bez zaplnenia pamäte a neúspešné sťahovanie ponechá predchádzajúci súbor nedotknutý.
  • Avatary, feedy a médiá z URL — fetch() vráti telo, typ obsahu a výslednú URL, s chybami, ktoré povedia, či pomôže neskorší pokus a ako dlho žiada server počkať.
  • Integrácie volajúce koncové body nastavené zákazníkmi — pravidlá pre jedno volanie obmedzia hostiteľov, porty aj presmerovania a balík, ktorý načítava URL adresy svojich používateľov, môže zahodiť výnimky, ktoré aplikácia urobila pre svoje interné služby, a ponechať všetky bloky.
  • Bezpečnostný monitoring — každé odmietnutie vyvolá DestinationRefused s dôvodom, hostiteľom, pravidlom a miestom odmietnutia, nikdy nie s URL adresou, takže upozornenia môžu ignorovať preklep vo formulári a zachytiť pokus v sieti.

Čo balík nerobí: chráni len požiadavky, ktoré ním prechádzajú — obyčajné Http::get() inde sa nekontroluje. Nekontroluje obsah odpovede, odpovede neukladá do cache a neriadi sa robots.txt. Nefunguje cez odchádzajúcu proxy: pripája sa priamo, proxy z prostredia obchádza a proxy, ktorú mu výslovne zadáte, odmietne. A PHP neumožňuje časovo obmedziť samotný preklad DNS.

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.