---
title: "Bezpečnostný model — Query Builder for Laravel | Roundly"
description: "Ako balík drží vstup z requestu mimo SQL: allow-listy, viazané hodnoty, escapované zástupné znaky, limity requestu a obmedzený výstup chýb."
url: https://roundly-consulting.com/sk/open-source/navody/query-builder-for-laravel/bezpecnost
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Query Builder for Laravel](https://roundly-consulting.com/sk/open-source/navody/query-builder-for-laravel.md)

# Bezpečnostný model

Balík stojí medzi nedôveryhodným query stringom a vašou databázou, preto sú nebezpečné časti odstránené už návrhom, nie ponechané na každý endpoint:

- Predvolene cez allow-list — nič sa nedá filtrovať ani triediť bez deklarácie; všetko ostatné je HTTP 400 (alebo sa v režime ignore zahodí). Preklep v konfigurácii režimu vyhodí InvalidConfigurationException namiesto hádania.
- Operátory nikdy z holého vstupu — operator() určí porovnanie v kóde; operators() rešpektuje len deklarované tokeny a čokoľvek iné berie ako doslovnú hodnotu.
- Viazané hodnoty, identifikátory od vývojára — vstavané filtre viažu každú hodnotu ako parameter; identifikátory stĺpcov pochádzajú z vašich deklarácií a obaľuje ich gramatika dopytu, nikdy nie z requestu.
- Zástupné znaky nerozšíria vyhľadávanie — %, \_ a \\ vo vstupe sa escapujú a porovnávajú s explicitnou klauzulou ESCAPE na každom driveri.
- Ohraničená práca — limits.max\_filter\_values, limits.max\_value\_length a limits.max\_sorts obmedzujú, čo si jedna URL môže vypýtať; duplicitné stĺpce triedenia sa odstránia.
- Žiadne podstrčenie argumentov do scopov — scope dostane presne jeden argument z requestu, pokiaľ nezapnete spread: true.
- Obmedzený odraz — chybové hlášky zopakujú najviac 5 neznámych kľúčov, každý skrátený na 64 znakov.
- Typované stĺpce v bezpečí — FilterValueShape drží chybné uuid a id mimo PostgreSQL, takže zlá hodnota znamená prázdny výsledok, nie chybu 500.
- Validovaná veľkosť stránky — per\_page nad maximom vráti 422 a perPage() ju ešte raz pevne obmedzí.
- Verejné názvy, súkromné stĺpce — interné názvy držia vašu schému mimo URL.

## Správne negácie

Negácie znamenajú to, čo myslí človek filtrujúci zoznam: not a ncontains zahŕňajú riadky NULL, viachodnotová negácia znamená „žiadne z týchto“ (AND, nie OR) a negácie relácií používajú whereDoesntHave, takže riadok naviazaný na vylúčenú hodnotu vypadne, aj keď má iné väzby.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/query-builder-for-laravel.md)
