×
Create a new article
Write your page title here:
We currently have 87 articles on Politiball Wiki. Type your article name above or click on one of the titles below and start writing!



Politiball Wiki
87Articles

Jak se bránit SQL injection ve webových aplikacích

Revision as of 17:29, 21 August 2026 by TrudiLahey68834 (talk | contribs) (Created page with "Při psaní automatizačních skriptů je zásadní myslet na odolnost. Kód by neměl spadnout při první neočekávané situaci, ale měl by chyby zaznamenat a pokračovat. Vytvořte si logování do souboru nebo konzole, abyste mohli zpětně dohledat, co skript dělal. Tato praxe vám ušetří hodiny hledání, když se něco pokazí. Také se nebojte použít vestavěné funkce pro práci s časem – plánování spuštění skriptů je přirozeným rozšíření...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Při psaní automatizačních skriptů je zásadní myslet na odolnost. Kód by neměl spadnout při první neočekávané situaci, ale měl by chyby zaznamenat a pokračovat. Vytvořte si logování do souboru nebo konzole, abyste mohli zpětně dohledat, co skript dělal. Tato praxe vám ušetří hodiny hledání, když se něco pokazí. Také se nebojte použít vestavěné funkce pro práci s časem – plánování spuštění skriptů je přirozeným rozšířením automatizace.

Začněte u pojmenování. Vyhněte se zkratkám jako d, tmp nebo data. Místo toho používejte popisné názvy, které vyjadřují účel: userList, processedOrder, fetchUserProfile. Důležité je také rozlišovat funkce a proměnné: sloveso u funkcí (getUser, sendEmail) a podstatné jméno u hodnot (user, email). Vyhnete se tak nejednoznačnosti a ulehčíte práci ostatním vývojářům.

Nakonec se zaměřte na ladění. Pokud projekt kombinuje více jazyků, je běžné, že potřebujete spustit debugger pro backend a zároveň sledovat konzoli frontendu. Většina IDE podporuje více konfigurací spuštění, které můžete spouštět paralelně. Nastavte si proto kombinované spouštěcí profily, které najednou spustí API server i vývojový server pro frontend. Nezapomeňte také na správné mapování zdrojových kódů (source maps), abyste mohli krokovat kód v TypeScriptu a přitom viděli, co se děje v JavaScriptu. Bez toho budete při hledání chyb ztrácet hodiny.

Když přijde na responzivní design, nejčastější chybou bývá spoléhat se na jednu techniku. CSS Grid a Flexbox nejsou konkurenty, ale nástroje pro různé situace. Grid je ideální pro celkovou strukturu stránky – sloupce, řádky, rozvržení sekcí. Flexbox zase perfektně funguje tam, kde potřebujete rozmístit prvky v jedné ose, třeba navigaci, tlačítka nebo karty v řadě. Pokud obě metody zkombinujete, získáte rychlý a čitelný kód, který se snadno udržuje.

Další past je přeposílání požadavků stále dokola. Mnoho API má limity – kolikrát za minutu můžeš volat. Pokud je překročíš, dostaneš status 429 (příliš mnoho požadavků). Řešení? Přidej do svého kódu čekání mezi požadavky, nebo implementuj zpětné čekání, když server odpoví 429. Nezapomeň také na to, že některé API potřebují hlavičku s autorizačním tokenem. Bez ní ti vrátí 401, i když je adresa správná. Ukládej token neveřejně, ideálně do proměnné prostředí, ne přímo do zdrojového kódu.

Prvním technickým krokem je instalace Pythonu a nastavení virtuálního prostředí. Bez virtuálního prostředí riskujete konflikty mezi balíčky z různých projektů, což je častý začátečnický problém. Po vytvoření prostředí si osvojte práci s příkazovou řádkou – to je nezbytný základ pro spouštění skriptů a správu závislostí. Místo psaní celého programu najednou zkoušejte jednotlivé příkazy v interaktivním režimu, abyste okamžitě viděli výsledek.

Flexbox pro detail: když potřebujete zarovnat obsah Jakmile máte mřížku, pusťte se do jednotlivých částí. Typický příklad: hlavička s logem a menu. Dejte jí display: flex, nastavte justify-content: space-between a align-items: center. Tím logo přilepíte vlevo a menu vpravo, a to bez jakýchkoliv margin hacků. V menu samotném pak použijte gap pro rozestupy mezi odkazy – to je čistší než margin-y na každém prvku. Na mobilu můžete menu nechat vertikální pomocí flex-direction: column.

SQL injection patří mezi nejzávažnější a zároveň nejčastější zranitelnosti webových aplikací. Útočník do vstupních polí, URL parametrů či hlaviček vloží SQL příkazy, které se pak neoprávněně provedou nad databází. Důsledkem může být únik citlivých dat, jejich smazání nebo dokonce převzetí kontroly nad serverem. Obrana není složitá, ale vyžaduje důslednost a pochopení principu, na kterém útok funguje.

Když už zvládáš jednoduché volání, zkus přidat parametry dotazu. Třeba pro filtr nebo stránkování. To je častý bod, kde začátečníci tápou – nevědí, jestli parametry patří do URL, nebo do těla. Pro GET je používej v URL za otazníkem, pro POST je dej do těla jako JSON. Vždy si přečti dokumentaci konkrétního API, protože formát se liší. A hlavně: nikdy neposílej citlivé údaje v URL – může se ti to vymstít v logách.

Automatizace opakujících se činností je jednou z nejpraktičtějších cest, jak začít s programováním. Python je pro tento účel ideální díky své čitelné syntaxi a obrovské standardní knihovně. Než se pustíte do psaní prvního skriptu, je důležité pochopit, že automatizace není o složitých algoritmech, ale o systematickém rozkladu problému na menší kroky. Začněte s něčím, co skutečně děláte ručně – třeba přejmenovávání souborů, stahování příloh z e-mailu nebo generování sestav z tabulky.