diff --git a/console/deploy/console.yaml b/console/deploy/console.yaml index 03fb133..b0a4418 100644 --- a/console/deploy/console.yaml +++ b/console/deploy/console.yaml @@ -55,7 +55,7 @@ spec: serviceAccountName: fission-console containers: - name: console - image: naeel/fission-console:v1.3.68 + image: naeel/fission-console:v1.3.69 imagePullPolicy: Always ports: - containerPort: 8090 diff --git a/console/ui/index.html b/console/ui/index.html index 22a5c30..88cc3b4 100644 --- a/console/ui/index.html +++ b/console/ui/index.html @@ -102,7 +102,7 @@
NUBES
FISSION CONSOLE
-
v1.3.68
+
v1.3.69
@@ -485,7 +485,7 @@
- v1.3.68 + v1.3.69
diff --git a/console/ui/js/modals.js b/console/ui/js/modals.js index f3e28b4..8f1ae35 100644 --- a/console/ui/js/modals.js +++ b/console/ui/js/modals.js @@ -193,11 +193,11 @@ function openInfo(name, btn) { return; } - // copyBtn — кнопка копирования конкретного значения в буфер. + // copyBtn — кнопка копирования конкретного значения через data-атрибут (безопасно для любых символов). function copyBtn(val) { if (!val || val === '-') return ''; - var safe = val.replace(/\\/g, '\\\\').replace(/'/g, "\\'"); - return ' '; + var encoded = val.replace(/&/g, '&').replace(/"/g, '"'); + return ' '; } // Строки без кнопки копирования (только отображение). @@ -221,7 +221,8 @@ function openInfo(name, btn) { var curlFull = 'curl -H "X-Auth-Token: ' + token + '" -X ' + method + ' "' + externalUrl + '"'; // В отображении скрываем токен — показываем только метод и URL. var curlDisplay = 'curl ... -X ' + method + ' "' + externalUrl + '"'; - var curlSafe = curlFull.replace(/\\/g, '\\\\').replace(/'/g, "\\'"); + // Храним полную команду в data-атрибуте (HTML-encode), читаем через dataset — безопасно для любых символов. + var curlAttr = curlFull.replace(/&/g, '&').replace(/"/g, '"'); var html = [ '' + labelTd('Имя') + withCopy(info.name) + '', @@ -238,7 +239,7 @@ function openInfo(name, btn) { '' + labelTd('curl') + '' + h(curlDisplay) + - ' ' + + ' ' + '', ].join('');