Vysicteni formularovych dat (vyhazeni <script> apod)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
flexroad
Člen | 117
+
0
-

Ahoj,

Existuje v nette nejaka funkce, ktera mi vycisti string od pripadneho balastu (injections (sql, script, atd…))

Potrebuju nejake data prijimat pres hadle ajaxem a tam mi muze prijit prakticky cokoliv… :(

Diky,

@flexroad

David Matějka
Moderator | 6445
+
+2
-
  • nette/http se postara o nevalidni utf znaky atd
  • pokud pouzivas databazovou vrstvu spravne (parametry), tak se pri dotazech vse spravne osetri
  • a pri vypisovani do latte se escapuji html znacky, aby se zabranilo xss
flexroad
Člen | 117
+
0
-

David Matějka napsal(a):

  • nette/http se postara o nevalidni utf znaky atd
  • pokud pouzivas databazovou vrstvu spravne (parametry), tak se pri dotazech vse spravne osetri
  • a pri vypisovani do latte se escapuji html znacky, aby se zabranilo xss

OK. Diky za odpoved. O zapis do db se mi stara doctrine, ktera to snad cisti od potencialnich „sql injection“ – (urcite to budu ale testovat), takze v tomto budu asi v pohode.
Tak ted uz jen spise pro zajimavost… existuje v nette nejaka funkce na „cisteni“ stringu, kterou bych mohl predcistit jeste pred zapisem do databaze (vcetne kontroly utf-8)?

David Matějka
Moderator | 6445
+
+1
-

utf8 uz osetri nette/http vrstva. Treba html tagy dokaze odstranit strip_tags, pro pokrocilejsi (kde si urcis, co je povoleny) osetreni html pouzij treba texy nebo htmlpurifier.

Ale „univerzalni“ osetreni retezce neexistuje – kazdy kontext potrebuje osetrit trochu jinak. Nejak to vypisujes jako html, neco jineho do html atributu, javascriptu…