diff --git a/tools/installer/install.html b/tools/installer/install.html index 6b4903a..a06f85b 100644 --- a/tools/installer/install.html +++ b/tools/installer/install.html @@ -141,6 +141,7 @@
+
@@ -443,8 +444,19 @@ document.addEventListener('click', async e => { }); $('cfg-next').addEventListener('click', () => { - S.host = $('cfg-host').value.trim() || 'localhost'; - S.port = $('cfg-port').value.trim() || '3000'; + const rawHost = $('cfg-host').value.trim() || 'localhost'; + const rawPort = parseInt($('cfg-port').value.trim(), 10); + if (!/^[a-zA-Z0-9]([a-zA-Z0-9\-\.]*[a-zA-Z0-9])?$/.test(rawHost) && rawHost !== 'localhost') { + showErr('cfg-err', 'Invalid hostname. Use only letters, digits, hyphens and dots.'); + return; + } + if (isNaN(rawPort) || rawPort < 1 || rawPort > 65535) { + showErr('cfg-err', 'Invalid port. Must be a number between 1 and 65535.'); + return; + } + showErr('cfg-err', ''); + S.host = rawHost; + S.port = String(rawPort); S.tz = $('cfg-tz').value.trim() || 'UTC'; showStep(1); });