<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MaryannPulleine</id>
	<title>Rettungsdienst-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rettungsdienstblog.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MaryannPulleine"/>
	<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Spezial:Beitr%C3%A4ge/MaryannPulleine"/>
	<updated>2026-10-15T08:01:27Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Vkl%C3%A1d%C3%A1n%C3%AD_ciz%C3%ADch_hodnot_do_SQL,_kter%C3%A9_otev%C3%ADr%C3%A1_cestu_%C3%BAtoku&amp;diff=455092</id>
		<title>Vkládání cizích hodnot do SQL, které otevírá cestu útoku</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Vkl%C3%A1d%C3%A1n%C3%AD_ciz%C3%ADch_hodnot_do_SQL,_kter%C3%A9_otev%C3%ADr%C3%A1_cestu_%C3%BAtoku&amp;diff=455092"/>
		<updated>2026-10-11T14:37:05Z</updated>

		<summary type="html">&lt;p&gt;MaryannPulleine: Die Seite wurde neu angelegt: „Jak poznat, že jazyk zvládnete a nezaseknete &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Než začnete psát kód, přečtěte si soubor s pravidly přispívání a posledních dvacet uzavřených změn. Zjistíte, jaký styl větví tým používá, zda chtějí změny rozdělovat na malé celky, a jestli se testy píší předem nebo dodatečně. Pokud projekt vede diskusi k návrhu, napište nejdřív krátký popis problému a navrhované řešení. Získáte souhlas dřív, než inve…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jak poznat, že jazyk zvládnete a nezaseknete &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Než začnete psát kód, přečtěte si soubor s pravidly přispívání a posledních dvacet uzavřených změn. Zjistíte, jaký styl větví tým používá, zda chtějí změny rozdělovat na malé celky, a jestli se testy píší předem nebo dodatečně. Pokud projekt vede diskusi k návrhu, napište nejdřív krátký popis problému a navrhované řešení. Získáte souhlas dřív, než investujete víkend do kódu, který by stejně nikdo nepřijal.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Verzování kódu není volitelný doplněk, ale základní návyk. Pokud začnete příliš pozdě, první ztráta souboru nebo nechtěná změna v produkci vás to naučí rychle. Začít lze během několika minut a nepotřebujete k tomu žádné složité nástroje. Stačí nainstalovat Git, otevřít terminál ve složce projektu a spustit příkaz git init. Tím vznikne skrytá složka, která si pamatuje veškerou historii. Poté přidejte soubory příkazem git add . a uložte první stav příkazem git commit -m &amp;quot;první commit&amp;quot;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Agilní metodiky vznikly pro malé týmy, které sedí v jedné místnosti a mají přímý přístup k zadavateli. Jakmile ale do hry vstoupí externí dodavatel, pravidla se rozpadnou. Externí firma má vlastní priority, vlastní lidi na několika projektech a často i vlastní způsob práce. Pokud se na to nepřipravíte předem, skončíte s dvěma světy, které se navzájem míjejí. Klíčové je nastavit spolupráci tak, aby agilní principy fungovaly i přes hranice firem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Na závěr si nastavte pravidelný rytmus. Commitujte po každé dokončené drobnosti, ne jednou za týden. Před odchodem z práce odešlete větev na vzdálený server. Alespoň jednou za čas si ověřte, že umíte projekt naklonovat z repozitáře a spustit od nuly. Právě tehdy zjistíte, že jste zapomněli nějakou závislost nebo konfiguraci. Verzování není jednorázový úkol, ale návyk, který vám vrátí klid ve chvíli, kdy potřebujete dohledat, co se v kódu změnilo a proč.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;SQL injection není problém databáze, ale způsobu, jakým s ní aplikace mluví. Kdo oddělí kód od dat, omezí práva účtu a nebude ukazovat chyby, tomu se útok přes vstupní pole výrazně ztíží. Zbytek je pravidelná kontrola a ochota opravit i starý kód, který „nějak funguje&amp;quot;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Běžci a retry logika na straně klienta dělají idempotenci ještě důležitější. Automatické opakování při timeoutu nesmí posílat nový klíč, jinak je celé úsilí zbytečné. Stejný klíč patří ke stejné logické operaci, a to i přes několik pokusů. Na straně serveru se vyplatí logovat, kolik požadavků bylo odmítnuto jako duplicitních, protože vysoké číslo znamená problém v komunikaci, ne v API. Idempotence není jednorázová úprava, ale vlastnost, kterou je potřeba testovat pod zátěží a při výpadcích.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Jakmile máte historii, naučte se vracet změny. Příkaz git log --oneline zobrazí přehled commitů. Pomocí git revert bezpečně vrátíte konkrétní commit, aniž byste mazali ostatní. Pokud chcete pouze odložit neuložené změny, použijte git stash. Vyhněte se příkazu git reset --hard, dokud přesně nevíte, co dělá – nevratně smaže neuloženou práci. Stejně opatrně zacházejte s přepisováním historie na sdílené větvi.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejčastější chyba, která vede k SQL injection, není technologická, ale myšlenková: programátor předpokládá, že vstup z formuláře je „nějaká hodnota&amp;quot;, a ne „cizí kód&amp;quot;. Když se tento předpoklad vloží do dotazu přes přímé skládání řetězců, útočník může změnit logiku dotazu, přečíst cizí data, přepsat je nebo smazat. Přitom stačí jedna nechráněná kolonka — třeba vyhledávací pole, přihlašovací formulář nebo filtr v administraci.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Kontrola by měla být součástí vývoje, ne jednorázová akce. Při code review se cíleně hledají místa, kde se dotaz skládá z řetězců, a každý takový výskyt se buď přepíše na parametrizovaný dotaz, nebo se pro něj zavede bezpečný whitelist. Testovací sada má obsahovat i vstupy s apostrofem, středníkem a komentářovou sekvencí. Když se aplikace zachová stejně jako u běžného textu, ochrana pravděpodobně drží.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Pozor také na to, co se ukládá jako výsledek. Pokud server vrátí jen kód 200 bez těla, klient nedostane data, která původně očekával. Ukládat je třeba celou odpověď včetně stavového kódu a hlaviček. U dlouhých operací se hodí vracet 202 s odkazem na stav, ale i ten musí být idempotentní, protože i na tento odkaz může klient zavolat vícekrát. U plateb a zápisů do fronty je bezpečnější použít transakci, která zkontroluje existenci klíče a teprve potom zapíše.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Testy a formátování rozhodují o všem Nejčastější chyba není logická, ale technická: změna neobsahuje test, který by dokázal, že oprava funguje. Správce nemá čas ručně ověřovat každý případ. Napište test, který selže před opravou a projde po ní. Stejně důležité je spustit formátovač a linter podle konfigurace v repozitáři. Rozdíly v odsazení nebo v pořadí importů vytvářejí hluk v diffu a zdržují recenzi. Pokud projekt používá konvenční commity, dodržte je, i když vám připadají zbytečné.&lt;/div&gt;</summary>
		<author><name>MaryannPulleine</name></author>
	</entry>
	<entry>
		<id>https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:MaryannPulleine&amp;diff=455091</id>
		<title>Benutzer:MaryannPulleine</title>
		<link rel="alternate" type="text/html" href="https://wiki.rettungsdienstblog.eu/index.php?title=Benutzer:MaryannPulleine&amp;diff=455091"/>
		<updated>2026-10-11T14:37:00Z</updated>

		<summary type="html">&lt;p&gt;MaryannPulleine: Die Seite wurde neu angelegt: „Někdo, kdo světem interiérů sází na osvědčené tipy. Píšu o tom, jak skloubit funkčnost s teplem domova. Nejvíc mě baví ukazovat chytrá řešení, která zvládne každý.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Někdo, kdo světem interiérů sází na osvědčené tipy. Píšu o tom, jak skloubit funkčnost s teplem domova. Nejvíc mě baví ukazovat chytrá řešení, která zvládne každý.&lt;/div&gt;</summary>
		<author><name>MaryannPulleine</name></author>
	</entry>
</feed>