Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Dibi neprovede escapování?

Martin Bárta
verified
rating uzivatele
(28 hodnocení)
21. 1. 2015 16:49:27
Zdravím,
mám tu už nějakou dobu kód a nemůžu najít spolehlivé řešení. Měl jsem za to, že Dibi (DB framework) dokáže sám escapovat data, která například updatem ukládám do DB. Mám tedy tento kód:
$Data = array(
'jmeno' => $FirstName,
'prijmeni' => $LastName,
'telefon' => $Phone,
'email' => $Email,
);
dibi::query('UPDATE `users` SET ', $Data, 'WHERE `username` = %s', $Username);
Když zkusím vložit do DB (v proměnné $FirstName) vložit jednoduchý JS alert tak se bez problémů uloží a neodfiltruje.
Nejsem si už úplně jistý co s tím, myslel jsem, že právě tohle je pro Dibi hračka.
Budu rád za jakékoliv rady co s tím.
Díky
21. 1. 2015 16:49:27
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084654
Pavel Janků
verified
rating uzivatele
(93 hodnocení)
21. 1. 2015 17:17:49
Dibi si escapuje, ale na SQL Injection samozřejmě. Na XSS se obávám, že buď budeš muset použít další framework (ne DB framework, normální PHP framework), toto není práce DB frameworku.
Navíc není nic jednoduššího, než htmlspecialchars();, str_replace(); atp.
21. 1. 2015 17:17:49
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084653
Martin Bárta
verified
rating uzivatele
(28 hodnocení)
21. 1. 2015 17:20:50
Tak nějak jsem doufal, že to právě Dibi taky dělá.
Doteď jsem používal právě htmlspecialchars(); a další.
Nevíš o nějaký třídě (opensource) co to spolehlivě ošetří u víc typů? Framework použít nemůžu, musí to být čisté PHP.
21. 1. 2015 17:20:50
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084652
tomve
verified
rating uzivatele
(22 hodnocení)
21. 1. 2015 17:28:40
PHP: strip_tags - Manual
21. 1. 2015 17:28:40
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084651
azka
verified
rating uzivatele
(2 hodnocení)
21. 1. 2015 17:57:15
Toto pouzivam ja https://gist.github.com/mbijon/1098477
Neni to nejrychlejsi, ale da se.
21. 1. 2015 17:57:15
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084650
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
21. 1. 2015 17:59:08
Napsal Tomve;1160387
PHP: strip_tags - Manual
na každé přednášce co jsem byl o bezpečnosti webových aplikacích přednášející vyhazovali z publika lidi pryč z jejich přednášky, když se někdo přihlásil na otázku, kdo escapuje nebezpečné html značky pomocí strip_tags ...
EDIT: htmlspecialchars (včetně ENT_QUOTES !) na výstupu z db (popř. i na vstupu) je u mě stále jeden z nejlepších a nejrychlejších způsobů.
21. 1. 2015 17:59:08
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084649
Martin
verified
rating uzivatele
(62 hodnocení)
21. 1. 2015 19:02:59
To že se JS uloží do DB ničemu nevadí, tak je blbost, aby to nějaký framework defaultně filtroval. Ty jen musíš veškerý výstup vypisovat přes
21. 1. 2015 19:02:59
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084648
Martin Bárta
verified
rating uzivatele
(28 hodnocení)
21. 1. 2015 21:15:21
Napsal Martin Kejzlar;1160426
To že se JS uloží do DB ničemu nevadí, tak je blbost, aby to nějaký framework defaultně filtroval. Ty jen musíš veškerý výstup vypisovat přes
Asi to budu nakonec filtrovat taky tímhle způsobem. Ale spíš na vstupu. JS v DB nemám a nechci.
21. 1. 2015 21:15:21
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084647
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
21. 1. 2015 21:50:13
Není se sice čeho bát, ale taky to nemám rád, nějaké skripty v databázi a většinou to escapuji hned na vstupu, přece jen nemá žádná html značka v databázi při vyplňování adresy co dělat ...
21. 1. 2015 21:50:13
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084646
tomve
verified
rating uzivatele
(22 hodnocení)
21. 1. 2015 23:36:49
Napsal denoy;1160400
na každé přednášce co jsem byl o bezpečnosti webových aplikacích přednášející vyhazovali z publika lidi pryč z jejich přednášky, když se někdo přihlásil na otázku, kdo escapuje nebezpečné html značky pomocí strip_tags ...
EDIT: htmlspecialchars (včetně ENT_QUOTES !) na výstupu z db (popř. i na vstupu) je u mě stále jeden z nejlepších a nejrychlejších způsobů.
to musely být kvalitní přednášky s kvalitními přednášejícími...
21. 1. 2015 23:36:49
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084645
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
22. 1. 2015 06:41:12
Napsal Tomve;1160520
to musely být kvalitní přednášky s kvalitními přednášejícími...
Špaček, Grudl a spol.. taky si říkám, že ti asi neví o čem mluví.
22. 1. 2015 06:41:12
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084644
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
22. 1. 2015 08:42:10
Správně se má ošetřovat na výstupu proto, že když si to uložíš dodatabáze ošetřené, tak ti to ale někdo při výpisu ještě může změnit, například přes proměnnou v url. A než na to furt myslet, tak je rozumně použít nějaký šablonovací systém, který to dělá za tebe a ty nemusíš myslet, jestli jsi na to někde nezapomněl.
Na XSS je náchylných spousta webů a i větší portály. Dokonce jsme některým napsal, že by se na to měli mrknout a oni mi odepsali, že to mají ošetřené. Mají, ale pomocí strip_tags, nebo nějakou ručně psanou funkcí, která nezachytí vše.
22. 1. 2015 08:42:10
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084643
tomve
verified
rating uzivatele
(22 hodnocení)
22. 1. 2015 10:58:36
Napsal denoy;1160542
Špaček, Grudl a spol.. taky si říkám, že ti asi neví o čem mluví.
Tady nejde o to, jestli neví nebo neví, ale budíž
22. 1. 2015 10:58:36
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084642
Tom
verified
rating uzivatele
(6 hodnocení)
22. 1. 2015 11:41:12
Ošetřuje se zásadně při výstupu - co když najednout nebudeš chtít vypisovat do HTML, ale třeba do JSON, YAML (nebo cokoliv jiného), kde musíš ošetřovat úplně jiné věci?
22. 1. 2015 11:41:12
https://webtrh.cz/diskuse/dibi-neprovede-escapovani/#reply1084641
Pro odpověď se přihlašte.
Přihlásit