Autor | Zpráva | ||
---|---|---|---|
Baletak Profil * |
#1 · Zasláno: 13. 3. 2012, 17:54:41
Ahoj, jak můžu načíst data z mysql abych oštřil spuštění třeba JS kódu? Předpokládám, že to bude něco jako htmlspecialchars(), htmlentities() nebo možná úplnš něco jiného ;) Děkuji
|
||
Janča N. Profil |
#2 · Zasláno: 15. 3. 2012, 09:26:22
Když potom vkládáš něco do SQL dotazu, tak se taky hodí: mysql_real_escape_string pro String. Pro čísla pak přetypování.
|
||
Hando Profil |
#3 · Zasláno: 15. 3. 2012, 09:53:39
Ale on se ptá na vytahování dat z DB, ne na ošetřování vstupu. Nicméně filtr na vstupu je lepší řešení. Kontrolu udělat stejně "musíš".
Co to bude za data a kdo je do té databáze bude vkládat? Pokud to budeš ty, tak bys měl mít pod kontrolou, co do toho vkládáš a jestli už ta data neobsahují nějaký potenciálně škodlivý kód. Pokud to bude neprověřený uživatel, tak je skutečně nutné nějaké sanitizování vstupu. Na to se hodí to, co píše Janča, tedy na obranu proti SQL Inj. Abys zabránil vložení <....> symbolů a dalších podobných potenciálně nebezpečných symbolů, tak htmlspecialchars(). |
||
Tori Profil |
Baletak:
Tohle vypadá jako celkem schopná ochrana proti XSS. (nezkoušela jsem to) |
||
Baletak Profil * |
#5 · Zasláno: 16. 3. 2012, 12:14:58
To Hando:
Nevím, ale co si pamatuji, tak fce htmlspecialchars() nemá na vstupu co dělat, měla by být jen pro výstup ;) |
||
Janča N. Profil |
Jen ještě doplním, že k htmlspecialchars() je reverzní funkce htmlspecialchars_decode() , kdyby jí bylo třeba.
|
||
Keeehi Profil |
#7 · Zasláno: 16. 3. 2012, 23:52:37
Baletak:
Správně. V databázi by měla být surová data. Takže při ukládání mysql_real_escape_string(), pro čísla přetypování. Ošetření se má dělat až při výstupu podle typu výstupu. Jelikož ti jde o výstup do html stránky tak se dají použít funkce tebou zmiňované, případně strip_tags() pro úplné odstranění. |
||
Enko Profil * |
#8 · Zasláno: 17. 3. 2012, 11:26:07
Keeehi:
„případně strip_tags() pro úplné odstranění“ Jenže používání striptags není úplně bezpečné a ani není doporučované, zkus si o tom něco přečíst! Více na blogu Jakuba Vrány |
||
Časová prodleva: 11 let
|
0