Escapování defaultní hodnot inputu
- kejlicz
- Člen | 201
Ahoj všem.
Chci se zeptat, jak je to s escapováním přenastavených hodnot
formulářových prvků. Mám formulářový input a nastavým mu
setDefaultValue() na potencionálně nebezpečný řetězec. Když kouknu do
HTML kódu stránky, tak všude na stránce, kde se ten řetězec vypisuje přes
latte je to správně escapované, ale u prvku <input> v atributu value
to escapované není. Sice se vložený JS nebo HTML neprovede, ale je i tak se
chci zeptat, jak se tohle řeší. Má se to escapovat ručně v presenteru
při nastavovaní hodnoty, nebo to není potřeba?
Díky moc za objasnění.
Editoval kejlicz (25. 7. 2016 21:35)
- GEpic
- Člen | 566
kejlicz napsal(a):
Ahoj všem.
Chci se zeptat, jak je to s escapováním přenastavených hodnot formulářových prvků. Mám formulářový input a nastavým mu setDefaultValue() na potencionálně nebezpečný řetězec. Když kouknu do HTML kódu stránky, tak všude na stránce, kde se ten řetězec vypisuje přes latte je to správně escapované, ale u prvku <input> v atributu value to escapované není. Sice se vložený JS nebo HTML provede, ale je i tak se chci zeptat, jak se tohle řeší. Má se to escapovat ručně v presenteru při nastavovaní hodnoty, nebo to není potřeba?Díky moc za objasnění.
Já vím, že jsem s tím ‚proč‘ otravný… Ale proč nastavujete výchozí hodnotu na potenciálně nebezpečnou? :D
Editoval GEpic (25. 7. 2016 15:32)
- Vastlik
- Člen | 58
GEpic napsal(a):
kejlicz napsal(a):
Ahoj všem.
Chci se zeptat, jak je to s escapováním přenastavených hodnot formulářových prvků. Mám formulářový input a nastavým mu setDefaultValue() na potencionálně nebezpečný řetězec. Když kouknu do HTML kódu stránky, tak všude na stránce, kde se ten řetězec vypisuje přes latte je to správně escapované, ale u prvku <input> v atributu value to escapované není. Sice se vložený JS nebo HTML provede, ale je i tak se chci zeptat, jak se tohle řeší. Má se to escapovat ručně v presenteru při nastavovaní hodnoty, nebo to není potřeba?Díky moc za objasnění.
Já vím, že jsem s tím ‚proč‘ otravný… Ale proč nastavujete výchozí hodnotu na potenciálně nebezpečnou? :D
Myslím si, že bere nějakou hodnotu z DB a tu vkládá jako default value, např. když máš user profile, tak tam dá za jméno z db jako default value, místo toho, aby tam bylo prázdného pole.
- Myiyk
- Člen | 321
@kejlicz dle dokumentace prepared statements je bezpečné
http://doctrine-orm.readthedocs.io/…ecurity.html#…
- GEpic
- Člen | 566
Myiyk napsal(a):
@kejlicz dle dokumentace prepared statements je bezpečné
http://doctrine-orm.readthedocs.io/…ecurity.html#…
To by měla být i Nette\Database, ne? klucí? Ošetřená proti sql inject…
Editoval GEpic (26. 7. 2016 0:50)