Domanda

Sto usando la nuova lingua mira in AEM6 per rendere i miei componenti utilizzando i modelli, nel mio componente c'è un video che utilizza il plugin JWPlayer che richiede il seguente codice da initalise il video:

<div id='playerpwSIOjcRZrCa'></div>
<script type='text/javascript'>
    jwplayer('playerpwSIOjcRZrCa').setup({
        file: '//www.youtube.com/watch?v=123456',
        title: 'Video title',
        width: '100%',
        aspectratio: '16:9'
    });
</script> 
.

Ma voglio rendere la dinamica della variabile di YouTube, quindi l'utente può modificare l'ID all'interno dell'autore, quindi ha ottenuto il seguente modello che passa nel videopat (ID di YouTube):

<template data-sly-template.player="${@ videoPath}">

    Video Id: ${videoPath}

    <script src="//jwpsrv.com/library/HjcD1BZoEeS7ByIAC0MJiQ.js"></script>

    <div id='playerpwSIOjcRZrCa'></div>
    <script type='text/javascript'>
        jwplayer('playerpwSIOjcRZrCa').setup({
            file: '//www.youtube.com/watch?v=' ${videoPath},
            title: 'Video title',
            width: '100%',
            aspectratio: '16:9'
        });
    </script>

</template>
.

Il problema che sto avendo è il $ {Videopata} nei tag non rendono l'ID dove è quello nella parte superiore del modello.

C'è un modo per risolvere questo usando i modelli avversamente?

È stato utile?

Soluzione

Viselicamente contiene protezione XSS fuori-the-box.Rileva che si sta tentando di iniettare la variabile videoPath all'interno del tag <script> e richiede di specificare il contesto , quindi può sfuggire ai caratteri speciali.In questo caso dovrebbe essere il contesto scriptString:

<script type='text/javascript'>
    jwplayer('playerpwSIOjcRZrCa').setup({
        file: '//www.youtube.com/watch?v=${videoPath @ context="scriptString"}',
        title: 'Video title',
        width: '100%',
        aspectratio: '16:9'
    });
</script>
.

Maggiori informazioni può essere trovato in Adobe Docs.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top