mirror of
https://github.com/hakimel/reveal.js.git
synced 2025-04-21 13:01:59 +02:00
Merge pull request #3548 from hackmdio/fix/xss-on-data-background-video-attribute
fix: use `setAttribute` instead of `innerHTML` to prevent XSS
This commit is contained in:
commit
767a67ee00
@ -142,13 +142,15 @@ export default class SlideContent {
|
||||
|
||||
// Support comma separated lists of video sources
|
||||
backgroundVideo.split( ',' ).forEach( source => {
|
||||
const sourceElement = document.createElement( 'source' );
|
||||
sourceElement.setAttribute( 'src', source );
|
||||
|
||||
let type = getMimeTypeFromFile( source );
|
||||
if( type ) {
|
||||
video.innerHTML += `<source src="${source}" type="${type}">`;
|
||||
}
|
||||
else {
|
||||
video.innerHTML += `<source src="${source}">`;
|
||||
sourceElement.setAttribute( 'type', type );
|
||||
}
|
||||
|
||||
video.appendChild( sourceElement );
|
||||
} );
|
||||
|
||||
backgroundContent.appendChild( video );
|
||||
|
Loading…
x
Reference in New Issue
Block a user