POUZE NYNÍ: Získej až 80 % extra kreditů ZDARMA na náš interaktivní e-learning. Zjistit více.
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 9 - Zabezpečení šablon

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
MArtin
Člen
Avatar
MArtin:27.10.2015 10:27

Akurat nechapem preco sa to osetruje pri vypise clanku a nie uz pri vkladani do DB. Usetri sa tym cas a zataz servera. Do DB vkladam len raz a vypisujem kazdu chvilu.

Avatar
Odpovídá na MArtin
Martin Konečný (pavelco1998):27.10.2015 10:32

Protože je lepší mít v databázi surová data, ať např. kvůli povolené délce, nebo když chceš s daty pracovat i jinak, než je jen vypsat (hledat podle hodnoty atd.).

Odpovědět
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Šimon Rataj
Člen
Avatar
Šimon Rataj:2.6.2016 19:31

Nevím proč, ale htmlspecialchars() i htmlentities() mi vrací prázdný výsledek. Nevíte někdo proč?

Avatar
Odpovídá na Šimon Rataj
Matúš Petrofčík:2.6.2016 19:39

Nevím proč, ale nestartuje mi auto...

Musíš byť viac konkrétny, najlepšie je uviesť problematickú časť kódu. Skús to znovu :)

Odpovědět
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Šimon Rataj
Člen
Avatar
Odpovídá na Matúš Petrofčík
Šimon Rataj:3.6.2016 16:13
<?=$title ?>

vypíše Úvod.

<?=htmlspecialchars($title) ?>

nevypíše nic.

Avatar
Odpovídá na Šimon Rataj
Matúš Petrofčík:3.6.2016 16:35

Podľa php.net:

If the input string contains an invalid code unit sequence within the given encoding an empty string will be returned, unless either the ENT_IGNORE or ENT_SUBSTITUTE flags are set.

Ak sa pozrieme na parametre funkcie:

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

Napadlo ma že nemáš nastavené defaultný charset (kodovanie) v php.ini a funkcia ini_get("defau­lt_charset") v 3. parametri vracia neplatný reťazec, a tým sa vyvoláva chyba ktorá zapríčiní vrátenie prázdneho reťazcu (táto chyba sa defaultne nezobrazí ako ostatné).

Skús použiť:

<?= htmlspecialchars($title, ENT_QUOTES, "UTF-8") ?>

Ak sa nevypíše nič, tak nvm. Určite máš súbory uložené ako UTF-8?

Editováno
Odpovědět
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Šimon Rataj
Člen
Avatar
Odpovídá na Matúš Petrofčík
Šimon Rataj:3.6.2016 16:45

Děkuji, už mi to funguje!

Avatar
Odpovídá na Šimon Rataj
Matúš Petrofčík:3.6.2016 16:58

Bolo to teda tým charsetom? Ak áno, dúfam že si si ho nastavil v php.ini aby sa ti takáto chybka nestala znovu :)

Odpovědět
obsah kocky = r^2 ... a preto vlak drnká
Avatar
mkub
Tvůrce
Avatar
mkub:4.8.2016 7:44

pre tych, co ma minuskovali, treba osetrit tie udaje pri vstupe do databazy kvoli SQL injection a pri vystupe na stranku zase osetrovat vystup kvoli cross-site scriptingu

a ak sa ukladaju do databazy surove udaje bez overenia, resp. sa vyhladavaju udaje bez upravy vstupneho hladacieho retazca, sa lahko moze stat, ze databaza vygeneruje udaje, ktore nema, resp. urobi cinnost, co by nemala urobit
a PDO pri spravnom pouziti zabrani SQL injectingu, ale PDO (skratrka z PHP Database Object) vyzaduje objektove programovanie aspon pri pristupe k databaze

Avatar
Petr
Člen
Avatar
Petr:12.8.2018 15:22

Stačí lehce poupravit článek:

UPDATE `article` SET `text` = '<p>Vítejte na našem webu!</p>\r\n\r\n<p onmouseover="alert(`XSS, vole!`);">Tento web je postaven na <strong>jednoduchém MVC frameworku v PHP</strong>. Toto je úvodní článek, načtený z databáze.</p>' WHERE `article`.`article_id` = 1

A najednou...

Editováno
Odpovědět
Kdyby zakladatel nebyl arogantni k****, mohl byt ITNetwork fakt ceska oborova socialni sit.
Nejnovější komentáře jsou na konci poslední stránky.
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 10 zpráv z 27.