Diskuze: Čistění od html, xss, apod
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zdar,
Na XSS neexistuje nějaká univerzální funkce, ale musíš ošetřovat
podle kontextu, tzn. zda proměnnou vypisuješ někde v HTML, jako atribut, CSS,
v JS apod. Já to taky nedokážu správně ošetřit všude, proto používám
Nette, které to udělá za mě pomocí context aware escaping
Proti SQL inject má PDO parametrizované dotazy, kde bezpečnost vůči SQL
inject pořeší samo .
Hm, to je celkem škoda že neexistuje žádná metoda jak toto řešit jednoduše , nette používat nechci, proto to budu muset nějak účinně řešit, ale i přesto děkuji .
Tak čistě teoreticky Nette používat nemusíš, jen obšlehnout ten algoritmus ale prakticky bych stejně asi doporučil použít něco hotového a funkčního. Teda pokud děláš něco, kde to tu bezpečnost fakt vyžaduje.
No vzhledem k tomu že na bezpečnost vždy dbám tak ano je to potřeba . A s tím algoritmem je to celkem vykrádání .
Mohl bys ale využít jen šablonovací systém Latte, který to escapování má v sobě
Hm to zní docela zajímavě, pokud by mi to nějak extra nezasahovalo do systému tak proč ne .
Latte by mělo jít stáhnout bez závislosti na ostatních částí frameworku. Sice jsem to zvlášť nezkoušel, ale myslim, že i její "instalace" bude jednoduchá
No i když se na tom tak zamyslím, mě jde o to si udělat nějakou třídu kde budu mít metody typu, CistiCss, CistiHtml, CistiHtmlAtributy, CistiJs, CistiUrl a tak dále avšak nevím jak to bezpečně čistit. Neposlal by jsi mi nějaký článek, nebo dokonce nenapsal bys mi nějaké příklady ? Např na html sice vím že existuje funkce
htmlspecialchars
Ale nevím jestli je to vše co musím udělat když chci vypisovat data z databáze které zadá uživatel. Předem děkuji . Při nejhorším bych asi použil latte, ale přijde mi zbytečné používat template engine když na jediné na co to využiji je čistění.
Článek vysvětlující všechny varianty jsem snad neviděl, ale zkus podívat na přednášku od pana Grudla, cca od 25:50
https://www.youtube.com/watch?…
ukazuje tam, jak se to řeší v HTML, atributu a v JS.
Ale víc ti asi bohužel neporadim
Ahoj,
Tak jsem se nějak podíval do zdrojového kódu latte, vzal si pár věcí a odešel, vše co jsem chtěl tam bylo . Samosebou jsem do té třídy napsal že nějaké věci jsou vzaté z latte, no doufám že to nebude ničemu vadit . Ale i tak děkuji za doporučení .
Když tak jsem ti to neporadil já
no když jsem uvedl autora, i odkaz na nette/latte tak snad není problém ne ?
Zobrazeno 13 zpráv z 13.