Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Zdeněk Pavlátka:29.1.2014 17:35

Zvykl jsem si všechna zadaná data ($_POST, $_GET) kontrolovat při jejich získávání z těchto polí a pak už to neplést do práce s databází a soubory. Např. $_GET kontroluji pomocí povolených hodnot switchem. Rád bych věděl, kdy to kontrolují ostatní a co je podle vás lepší.

Odpovědět
29.1.2014 17:35
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Neaktivní uživatel:29.1.2014 17:40

Já ošetřuju kdy je to třeba. GET jsem nikdy switchem neošetřoval, protože jsem měl vždycky náhodné (uživatelsky zadávané) hodnoty, které by se těžce získávali, kdybych to dělal na tvrdo. :D Při vstupu do databáze mi to kontroluje PDO, při výstupu ve viewech zase framework. Takže vlastně toho moc neřeším.

Nahoru Odpovědět
29.1.2014 17:40
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Zdeněk Pavlátka
David Hartinger:29.1.2014 17:41

Ošetřovat máš právě naopak až na konci, kde data vkládáš do DB nebo do HTML. Ošetřovat to při získání je špatně.

Nahoru Odpovědět
29.1.2014 17:41
You are the greatest project you will ever work on.
Avatar
Odpovídá na Neaktivní uživatel
Zdeněk Pavlátka:29.1.2014 17:43

Switch mám hlavně na výběr stránek ze souborů:

switch($_GET['url']){
case 'home':
case 'about':
case 'contact':
        $url = $_GET['url'];
        break;
//...

Používám MySQL ;)

Editováno 29.1.2014 17:45
Nahoru Odpovědět
29.1.2014 17:43
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na David Hartinger
Zdeněk Pavlátka:29.1.2014 17:44

Co je na tom tak špatného? Data ověřím a pak na nich zavolám metodu pro práci s databází.

Nahoru Odpovědět
29.1.2014 17:44
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Neaktivní uživatel:29.1.2014 17:47

To mi zase zpracovává Router, takže jsem se k tomu vlastně nikdy nedostal. :D

Nahoru Odpovědět
29.1.2014 17:47
Neaktivní uživatelský účet
Avatar
Uživatel sítě :29.1.2014 20:25

Data si uložím do databáze ošetřené a při výpisu si je transformuji dle libosti, jak je zrovna chci použít.

Nahoru Odpovědět
29.1.2014 20:25
Chybami se člověk učí, běžte se učit jinam!
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Zdeněk Pavlátka
David Hartinger:29.1.2014 21:24

Je to špatně, protože si pak do DB ukládáš entity a to se opravdu nedělá. Ale já už jsem tu na úpravu kódu v PHP resignoval, dělejte si to jak chcete, stejně časem zjistíte proč to tak být nemá.

Nahoru Odpovědět
29.1.2014 21:24
You are the greatest project you will ever work on.
Avatar
Uživatel sítě :29.1.2014 21:46

Co je špatného na tom, když si uložím data do DB ošetřené tímto způsobem?

htmlspecialchars($text, ENT_QUOTES);
Nahoru Odpovědět
29.1.2014 21:46
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na Uživatel sítě
Martin Konečný (pavelco1998):29.1.2014 21:48

Místo 8mi znakový <script> se ti tam uloží 14ti znakový <script>. Zásada je ukládat data do DB surová a teprve při výstupu je ošetřit tak, jak právě potřebuješ.

Editováno 29.1.2014 21:48
Nahoru Odpovědět
29.1.2014 21:48
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Uživatel sítě :29.1.2014 21:54

Takže stačí v podstatě ošetřit apostrofy, uvozovky, popř. jiné speciální znaky a při výpisu teprve ošetřit html tagy. Chápu to tak správně?

Nahoru Odpovědět
29.1.2014 21:54
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na Uživatel sítě
Uživatel sítě :29.1.2014 22:18

Myslím tím např., že zápis do DB ošetřím mysql_real_es­cape_string() a výpis z db ošetřím htmlspecialchar­s().

Nahoru Odpovědět
29.1.2014 22:18
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na Uživatel sítě
Martin Konečný (pavelco1998):29.1.2014 22:30

Přesně tak. Pokud použiješ např. PDO a parametrizované dotazy, nebudeš se muset starat o SQL injection.
Na výstupu si pak ten řetězec upravíš tak, jak ho zrovna potřebuješ (někdy budeš určitě potřebovat i něco jiného, než jen htmlSpecialChars).

Nahoru Odpovědět
29.1.2014 22:30
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.