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

Events\DestinationRefused sa vyvolá pri každom odmietnutí — pri overení (každý krok, allows(), precheck() aj pravidlo) a keď sa požiadavka pripojila mimo overenej množiny (cannot_pin):

final readonly class DestinationRefused
{
    public Reason $reason;
    public string $host;          // canonical; '' when the URL had none the guard could read
    public ?string $blockedBy;    // for blocked: hostname, blocked_host, app_host, blocked_range, private_address
    public string $via;           // vet, allows, precheck, request, fetch, download
}

Nikdy neobsahuje URL adresu (môže to byť URL s oprávnením) ani preloženú adresu. via hovorí, kde sa URL posudzovala:

viaVýznam
vetSafeFetch::vet().
allowsSafeFetch::allows(), pravidlo SafeUrl a safe_url.
precheckSafeFetch::precheck() a SafeUrl::withoutLookup().
requestKrok chránenej požiadavky (Http::safe(), guard(), http()).
fetch · downloadKrok SafeFetch::fetch() alebo SafeFetch::download().

Odmietnutia sú presne to, ako vyzerá pokus o SSRF — oplatí sa listener, ktorý upozorní, a ktorý zároveň vie preskočiť, čo odmietol formulár:

use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Log;
use RoundlyConsulting\SafeFetch\Events\DestinationRefused;

Event::listen(function (DestinationRefused $event): void {
    if (! in_array($event->via, ['allows', 'precheck'], true)) {
        Log::warning('Outbound request refused', ['reason' => $event->reason->value, 'host' => $event->host, 'rule' => $event->blockedBy, 'via' => $event->via]);
    }
});

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.