Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 9. diel - Zabezpečenia šablón

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej 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
Odpovedá 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.).

Odpovedať
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
Odpovedá 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 :)

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

vypíše Úvod.

<?=htmlspecialchars($title) ?>

nevypíše nic.

Avatar
Odpovedá 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?

Editované
Odpovedať
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Šimon Rataj
Člen
Avatar
Odpovedá na Matúš Petrofčík
Šimon Rataj:3.6.2016 16:45

Děkuji, už mi to funguje!

Avatar
Odpovedá 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 :)

Odpovedať
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...

Editované
Odpovedať
Kdyby zakladatel nebyl arogantni k****, mohl byt ITNetwork fakt ceska oborova socialni sit.
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 27.