HTML v textarea escape & bezpečnosť

steelbull
Člen | 240
+
0
-

Mám nasledujúcu položku v komponente formulára:

$form->addTextArea('description', $t->translate('card.form.description') . ':')
    ->setDisabled($mainDisabled)
    ->setHtmlAttribute('class','k-editor')
    ->setRequired(true);

V latte ju vykresľujem takto:

<div class="row">
                        <div class="col-md-12">
                            {label 'description' /}
                            {input 'description'}
                            <span class="form-error-message">{inputError 'description'}</span>
                        </div>
                    </div>

Po submite sa HTML escapne:

&lt;strong&gt;ertertr&lt;/strong&gt;

Dá sa to nejako vypnúť? Ak to vypnem, ako zabránim riziku XSS útoku?

CZechBoY
Člen | 3608
+
0
-

Po submitu se to nejspis neescapuje, escapuje se az pri vypisu. XSS se nejspis nevyhnes.

stepos2
Člen | 51
+
0
-

Obsah inputu před uložením prohnat třeba přes HTML Purifier a v šabloně pak zobrazit přes {$description|noescape}

Editoval stepos2 (24. 2. 2020 23:08)

Jan Tvrdík
Nette guru | 2595
+
0
-

Dá sa to nejako vypnúť?

Proč to chceš vypnout? Je to zapnutý úmyslně a nemělo by být potřeba to vypnout. KEditor by s tím měl normálně pracovat.

steelbull
Člen | 240
+
0
-

CZechBoY napsal(a):

Po submitu se to nejspis neescapuje, escapuje se az pri vypisu. XSS se nejspis nevyhnes.

@CZechBoY To som si myslel aj ja, ale do DB sa uloží už escapované. V Tracy som debugol values po submite formulára a už vo values je to escapované. Keď v DB manuálne escapované znaky naspäť manuálne opravím a refreshnem formulár, tak s to zobrazí korektne. Čiže nepotrebujem escapovať výpis, ale potrebujem vypnúť escapovanie pri submite.

steelbull
Člen | 240
+
0
-

stepos2 napsal(a):

Obsah inputu před uložením prohnat třeba přes HTML Purifier a v šabloně pak zobrazit přes {$description|noescape}

@stepos2 To je všetko na to, aby mi to vyriešilo XSS? Má aj Nette niečo podobné integrované priamo v sebe?

Editoval steelbull (25. 2. 2020 20:55)

steelbull
Člen | 240
+
0
-

Jan Tvrdík napsal(a):

Dá sa to nejako vypnúť?

Proč to chceš vypnout? Je to zapnutý úmyslně a nemělo by být potřeba to vypnout. KEditor by s tím měl normálně pracovat.

@JanTvrdík Njn, ale ja chcem použiť Kendo editor a pri uložení mi to escapuje html.

David Matějka
Moderator | 6445
+
+4
-

pokud se i z prohlizece odesila na server escapovane html (coz zjistis v network panelu), tak hledej problem v tom wysiwyg editoru

steelbull
Člen | 240
+
0
-

Je to tak, problém bol v editore. Ďakujem :-)