Better escaping of code to prevent xss

This commit is contained in:
Knut Sveidqvist
2019-12-08 15:05:00 +01:00
parent 0f4de37a68
commit bfb12d9922
12 changed files with 59 additions and 46 deletions
-4
View File
@@ -13,7 +13,6 @@ import 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js';
import 'monaco-editor/esm/vs/editor/contrib/find/findController.js';
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
export let data;
export let conf = '';
export let code = '';
export let error = false;
@@ -93,9 +92,6 @@ onMount(async () => {
}
});
export let name;
export let params = {};
export let errorText = ''
</script>
<style>
+2 -3
View File
@@ -12,7 +12,6 @@ import 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js';
import 'monaco-editor/esm/vs/editor/contrib/find/findController.js';
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
export let data;
export let code = '';
export let conf = { theme: 'default' };
let edit;
@@ -96,8 +95,8 @@ onMount(async () => {
}
});
export let name;
export let params = {};
// export let name;
// export let params = {};
</script>
<style>
+5 -5
View File
@@ -5,14 +5,14 @@ import { onMount } from 'svelte';
onMount(async () => {
});
export let code = '';
// export let code = '';
export let classes = '';
export let error = {};
export let token = '';
export let expected = '';
// export let error = {};
// export let token = '';
// export let expected = '';
export let params = {}
// export let params = {}
export let errorText = '';
-1
View File
@@ -1,5 +1,4 @@
<script>
export let title = '';
export let noPadding = false;
let contentClass = 'padding';
if (noPadding) {
+9 -1
View File
@@ -70,7 +70,15 @@ let insertSvg = function(svgCode, bindFunctions){
try {
if(container && state) {
code = state.code;
container.innerHTML = code;
// mermaid.parse(code)
// Replacing special characters '<' and '>' with encoded '&lt;' and '&gt;'
let _code = code
_code = _code.replace(/</g, '&lt;')
_code = _code.replace(/>/g, '&gt;')
container.innerHTML = _code;
saveStatistcs(detectType(code));
delete container.dataset.processed
mermaid.initialize(state.mermaid)