<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://jak.mazovia.edu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WFFHoward329358</id>
	<title>Mazovia - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://jak.mazovia.edu.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WFFHoward329358"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php/Specjalna:Wk%C5%82ad/WFFHoward329358"/>
	<updated>2026-11-07T07:27:11Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Kdy%C5%BE_testujete_API_p%C5%99es_Postman,_na_t%C4%9Bchto_p%C4%9Bti_v%C4%9Bcech_to_stoj%C3%AD&amp;diff=877727</id>
		<title>Když testujete API přes Postman, na těchto pěti věcech to stojí</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Kdy%C5%BE_testujete_API_p%C5%99es_Postman,_na_t%C4%9Bchto_p%C4%9Bti_v%C4%9Bcech_to_stoj%C3%AD&amp;diff=877727"/>
		<updated>2026-10-02T08:01:34Z</updated>

		<summary type="html">&lt;p&gt;WFFHoward329358: Utworzono nową stronę &amp;quot;&amp;lt;br&amp;gt;Sprint plánujte podle kapacity, ne podle přán&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;U číselných vstupů se vyplatí ověřit, že jde skutečně o číslo, a teprve potom ho vložit do dotazu. U textových vstupů nastavte maximální délku a povolené znaky podle toho, co má pole skutečně obsahovat. [https://slashdot.org/index2.pl?fhfilter=Nikdy%20nepou%C5%BE%C3%ADvejte Nikdy nepoužívejte] vstup od uživatele k výběru názvu tabulky nebo sloupce. Pokud to nutně potřebujete,…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;Sprint plánujte podle kapacity, ne podle přán&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;U číselných vstupů se vyplatí ověřit, že jde skutečně o číslo, a teprve potom ho vložit do dotazu. U textových vstupů nastavte maximální délku a povolené znaky podle toho, co má pole skutečně obsahovat. [https://slashdot.org/index2.pl?fhfilter=Nikdy%20nepou%C5%BE%C3%ADvejte Nikdy nepoužívejte] vstup od uživatele k výběru názvu tabulky nebo sloupce. Pokud to nutně potřebujete, použijte pevný seznam povolených hodnot a z něj vybírejte, nikdy ne skládáním řetězce.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nakonec počítejte s tím, že jeden dotaz není izolovaná věc. Projděte všechny cesty, kde se pracuje s databází, včetně méně používaných administračních funkcí a staršího kódu.  If you liked this article and you also would like to collect more info with regards to [http://lineage2.hys.cz/user/Scotty0738/ úPrava interiéru] nicely visit our site. Zaveďte pravidelnou kontrolu a testy, které zkusí do vstupů poslat neobvyklé znaky. Prevence SQL injection není jednorázový úkol,  [https://Crabcodex.com/index.php/Kdy%C5%BE_commit_zpr%C3%A1va_%C5%A1et%C5%99%C3%AD_%C4%8Das_p%C5%99i_hled%C3%A1n%C3%AD_vin%C3%ADka_zm%C4%9Bny Jak zaříDit malou kuchyni] ale návyk: parametrizovat, ověřovat a omezovat práva při každé změně aplikace.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Největší slabina technických implementací je chybějící práce s prázdnými a chybovými stavy. Načítání, prázdný seznam, selhaný požadavek, neplatný vstup – to nejsou okrajové případy, to je běžný provoz. Pokud tyto stavy řešíte až na konci, výsledek působí nedokončeně. U prázdného stavu vždy napište, co se stalo a co [https://Twitter.com/search?q=m%C3%A1%20u%C5%BEivatel má uživatel] udělat dál. U chyby nabídněte konkrétní krok k nápravě, ne jen obecné „něco se pokazilo&amp;quot;. U načítání používejte skeleton tam, kde znáte strukturu obsahu, a spinner jen tam, kde nevíte, co přijde.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;SQL injection vzniká ve chvíli, kdy aplikace vloží vstup od uživatele přímo do databázového dotazu. Útočník pak místo očekávané hodnoty pošle fragment SQL, který změní význam celého příkazu. Nejde o teoretickou hrozbu: stačí jedno neošetřené pole ve formuláři a lze číst cizí záznamy, měnit je nebo je smazat. Obrana není složitá, ale musí být důsledná na všech místech, kde se data zvenčí dostávají do dotazu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Při práci s daty, která se mají ukládat, neposílejte stále stejný požadavek dokola. Vytvoření záznamu s pevným identifikátorem podruhé selže, což je správně, ale vypadá to jako chyba API. Používejte dynamická data z generátoru, který je součástí Postmanu, nebo si hodnotu vygenerujte v předpožadovaném skriptu. Stejně tak nezapomeňte, že po sobě máte uklidit – smazat vytvořený záznam, pokud to API umožňuje. Jinak vám testovací data zůstanou v databázi a při dalším běhu způsobí konflikty.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Proměnné místo ručního přepisování Adresa serveru, klíč API a identifikátory se nemají psát ručně do každého požadavku. V Postmanu k tomu slouží proměnné na úrovni prostředí (environment) nebo kolekce. Do URL pak píšete jen base_url/users/user_id. Když přepnete prostředí z vývojového na testovací, změní se adresa i klíč na jednom místě. Typická chyba je, že lidé mají proměnnou definovanou, ale zapomenou ji aktivovat – požadavek pak odejde s prázdnou hodnotou a server vrátí 404 nebo 401, i když je vše napsané správně.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základem je parametrizace dotazů. Místo skládání řetězců použijte připravené příkazy s placeholdery a hodnoty předejte zvlášť. V praxi to znamená, že dotaz vypadá například jako SELECT * FROM users WHERE email = ? a databázový ovladač sám zajistí, že vstup zůstane pouhou hodnotou, ne spustitelným kódem. Toto pravidlo platí pro všechny jazyky i frameworky, včetně těch, které nabízejí pohodlnější zápis. Pokud někde řetězíte SQL ručně, je to rizikové místo.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Praktický postup: než commit vytvoříš, přečti si vlastní diff a napiš, co se změnilo očima někoho, kdo kód nezná. Pokud se ti do prvního řádku nevejde shrnutí, rozděl práci na více commitů. Každý commit ať řeší jednu věc a jde samostatně vrátit. U složitějších změn přidej do těla i to, co jsi netestoval nebo co zůstává otevřené — budoucí čtenář tak pozná hranice změny.&amp;lt;br&amp;gt;U autentizace se nevyplácí spoléhat na to, že si token zkopírujete ručně. V záložce Authorization nastavte typ podle toho, co API vyžaduje, a token vložte jako proměnnou. Pokud token vyprší, dostanete 401 a budete ho muset obnovit. Některá API vracejí token v odpovědi na přihlášení; pak stačí v testovacím skriptu odpovědi nastavit pm.environment.set(&amp;quot;token&amp;quot;, pm.response.json().token) a další požadavky už ho použijí samy.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Postman se používá hlavně proto, že umožňuje sestavit HTTP požadavek, odeslat ho a okamžitě vidět, co server vrátil. Než začnete cokoli testovat, vytvořte si kolekci. Do ní budete ukládat jednotlivé požadavky podle logických celků – například uživatelé, objednávky, platby. Kolekce se dají sdílet, exportovat a spouštět hromadně, takže se vyplatí pojmenovávat požadavky konzistentně. Vyhněte se názvům jako „test1&amp;quot; nebo „oprava&amp;quot;; za týden nebudete vědět, co který požadavek dělá.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>WFFHoward329358</name></author>
	</entry>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:WFFHoward329358&amp;diff=877725</id>
		<title>Użytkownik:WFFHoward329358</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=U%C5%BCytkownik:WFFHoward329358&amp;diff=877725"/>
		<updated>2026-10-02T08:01:33Z</updated>

		<summary type="html">&lt;p&gt;WFFHoward329358: Utworzono nową stronę &amp;quot;Autor blogu světem interiérů se zabývá denně. Sdílím zde, jak zvládnout domácnost bez stresu. Nejraději popisovat postupy krok za krokem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Review my webpage - [http://lineage2.hys.cz/user/Scotty0738/ úPrava interiéru]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor blogu světem interiérů se zabývá denně. Sdílím zde, jak zvládnout domácnost bez stresu. Nejraději popisovat postupy krok za krokem.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Review my webpage - [http://lineage2.hys.cz/user/Scotty0738/ úPrava interiéru]&lt;/div&gt;</summary>
		<author><name>WFFHoward329358</name></author>
	</entry>
</feed>