Oznámení
Jak se ubránit XSS a jak vypnout headingModule
před 13 lety
- zbytovsky
- Člen | 18
Ahoj,
- rád bych věděl jak se má nastavit, aby texy nepropouštělo tag <script> – ukázka na texy.info se pouští, protože tam je asi trustMode(), ale doma mám povolené jen tagy <a href, <em a <strong a taky to pouští.
- další dotaz mám jak vypnout modul nadpisů, na stránce o implementaci je napsáno, že všechny moduly lze vypnout obecně název->allowed, jenže headingModul skladuje v proměnné allowed povolené typy zápisů, čili vypnutí nikoliv. Používám to v diskusi a tam se nadpisy opravdu nehodí.
před 13 lety
- David Grudl
- Nette Core | 6806
Pokud není značka <script>
povolená, tak se do výstupu
nedostane. Zkontrolujte si že platí
$texy->htmlModule->allowed['script'] = NULL
;
Pro vypnutí titulků je třeba vypnout obě syntaxe, podtržítkovou i „obalovací“, tedy:
// pro Texy 2
$texy->allowed['heading/surrounded'] = FALSE;
$texy->allowed['heading/underlined'] = FALSE;
// pro Texy 1.x
$texy->headingModule->allowed->surrounded = FALSE;
$texy->headingModule->allowed->underlined = FALSE;
před 13 lety
- zbytovsky
- Člen | 18
Pokud není značka
<script>
povolená, tak se do výstupu nedostane. Zkontrolujte si že platí$texy->htmlModule->allowed['script'] = NULL
;
Ano, to bude ono, díky moc za odpověď. Asi to bude starším manuálem k implementaci, protože tam je napsaný jen tento způsob:
$texy->allowedTags=array(
'a' => array('href','title'),
'strong' => true,
'em' => true
);
Pro vypnutí titulků je třeba vypnout obě syntaxe, podtržítkovou i „obalovací“
Ano, to je v manuálu napsaný, ale nepochopil jsem to správně.
Tak díky za pomoc a za strávený čas. Texy je opravdu výborná, akorát mi chybí ještě zpětný konvertor, protože ukládat si články zároveň na dvě místa je někdy otravené. :-)
Pavel Zbytovský
před 13 lety
- David Grudl
- Nette Core | 6806
Spíš bych řekl, že manuál předběhl poslední uvolněnou verzi :-)
ad zpětný konvertor: Vzhledem k charakteru HTML a Texy je skutečně vhodnější text ukládat ve zdrojové variantě, tedy v Texy. Zpětná konverze bude vždy ztrátová. Příkladem můžou být zmíněné titulky – zpětný konvertor nemůže vědět, které ze dvou syntaxí dáváte přednost.
Tedy buď lze texty uchovávat v Texy a při zobrazení provádět konverzi na HTML (a celý systém doplnit keší, takže konverze se reálně provede jen jednou), nebo do databáze ukládat obě verze.