К-122672: Добавили экранирование тегов в onion, server и https компонента

pull/341/head
Владислав Филатов 2022-04-07 18:33:09 +04:00
parent d8e7addab6
commit c9ee8455e0
3 changed files with 16 additions and 6 deletions

View File

@ -102,6 +102,8 @@ THE SOFTWARE.
watch: { watch: {
'$props.data.onionLocation': { '$props.data.onionLocation': {
handler(data) { handler(data) {
data.computed = data.computed.replace(/</, '&lt;');
data.computed = data.computed.replace(/>/, '&gt;');
// Drop http(s):// // Drop http(s)://
data.computed = data.computed.replace(/^https?:\/\//, ''); data.computed = data.computed.replace(/^https?:\/\//, '');
}, },

View File

@ -208,7 +208,9 @@ THE SOFTWARE.
watch: { watch: {
'$props.data.domain': { '$props.data.domain': {
handler(data) { handler(data) {
data.computed = data.computed.replace(/<.+>/, ''); data.computed = data.computed.replace(/</, '&lt;');
data.computed = data.computed.replace(/>/, '&gt;');
// Ignore www. if given, enable WWW subdomain // Ignore www. if given, enable WWW subdomain
if (data.computed.startsWith('www.')) { if (data.computed.startsWith('www.')) {
data.computed = data.computed.slice(4); data.computed = data.computed.slice(4);
@ -244,7 +246,9 @@ THE SOFTWARE.
// Ensure there is a default path // Ensure there is a default path
'$props.data.path': { '$props.data.path': {
handler(data) { handler(data) {
data.computed = data.computed.replace(/<.+>/, ''); data.computed = data.computed.replace(/</, '&lt;');
data.computed = data.computed.replace(/>/, '&gt;');
if (!data.computed.trim()) { if (!data.computed.trim()) {
data.computed = `/var/www/${this.$props.data.domain.computed}`; data.computed = `/var/www/${this.$props.data.domain.computed}`;
} }
@ -253,19 +257,22 @@ THE SOFTWARE.
}, },
'$props.data.documentRoot': { '$props.data.documentRoot': {
handler(data) { handler(data) {
data.computed = data.computed.replace(/<.+>/, ''); data.computed = data.computed.replace(/</, '&lt;');
data.computed = data.computed.replace(/>/, '&gt;');
}, },
deep: true, deep: true,
}, },
'$props.data.listenIpv4': { '$props.data.listenIpv4': {
handler(data) { handler(data) {
data.computed = data.computed.replace(/<.+>/, ''); data.computed = data.computed.replace(/</, '&lt;');
data.computed = data.computed.replace(/>/, '&gt;');
}, },
deep: true, deep: true,
}, },
'$props.data.listenIpv6': { '$props.data.listenIpv6': {
handler(data) { handler(data) {
data.computed = data.computed.replace(/<.+>/, ''); data.computed = data.computed.replace(/</, '&lt;');
data.computed = data.computed.replace(/>/, '&gt;');
}, },
deep: true, deep: true,
}, },

View File

@ -374,7 +374,8 @@ THE SOFTWARE.
}, },
'$props.data.letsEncryptCertRoot': { '$props.data.letsEncryptCertRoot': {
handler(data) { handler(data) {
data.computed = data.computed.replace(/<.+>/, ''); data.computed = data.computed.replace(/</, '&lt;');
data.computed = data.computed.replace(/>/, '&gt;');
}, },
deep: true, deep: true,
}, },