Parcourir la source

validate ftp inputs

Avetisyan Karen il y a 4 ans
Parent
commit
727ce68ba0

BIN
web_interface/dist/wui-11/main.js


BIN
web_interface/dist/wui-11/settings.html


+ 0 - 2
web_interface/src/wui-11/ftp_fw_update.cgi

@@ -3,5 +3,3 @@
 
 print("Content-Type: text/plain")
 print("")
-
-print("1")

+ 12 - 0
web_interface/src/wui-11/main.js

@@ -1035,6 +1035,18 @@ function ftpSettings() {
   } else {
     $('ftp_settings').style.display = 'block';
     $('start_fw_update').onclick = function() {
+      if (!/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test($('ftp_server').value)) {
+        return alert('Не верный формат IP-адреса сервера');
+      }
+      if(isNaN(parseInt($('ftp_port').value)) || parseInt($('ftp_port').value) > 65535) {
+        return alert('Не верный формат порта сервера');
+      }
+      if(!/^[0-9a-zA-Z.,/\-_*#()[\]+=;:'"@!^%&?|${}`~<>]+$/.test($('ftp_login').value)) {
+        return alert('Логин может содержать только цифры, латинские буквы и и спец. символы .,/-_*#()[]+=;:\'\\"@!^%&?|${}`~<>');
+      }
+      if(!/^[0-9a-zA-Z.,/\-_*#()[\]+=;:'"@!^%&?|${}`~<>]+$/.test($('ftp_password').value)) {
+        return alert('Пароль может содержать только цифры, латинские буквы и и спец. символы .,/-_*#()[]+=;:\'\\"@!^%&?|${}`~<>');
+      }
       var f1 = new FormData(document.forms.ftp_settings);
       var fArr = [];
       f1.forEach( function(a, b) { fArr.push(b+'='+a); });

+ 5 - 5
web_interface/src/wui-11/settings.html

@@ -41,23 +41,23 @@
           <form name="ftp_settings">
             <label for="ftp_server" class="col span_1_of_2">Сервер FTP</label>
             <div class="col span_1_of_2">
-              <input type="text" class="form-control" id="ftp_server" name="ftp_server">
+              <input type="text" class="form-control" id="ftp_server" name="ftp_server" maxlength="16">
             </div>
             <label for="ftp_port" class="col span_1_of_2">Порт FTP</label>
             <div class="col span_1_of_2">
-              <input type="text" class="form-control" id="ftp_port" name="ftp_port">
+              <input type="text" class="form-control" id="ftp_port" name="ftp_port" maxlength="5">
             </div>
             <label for="ftp_login" class="col span_1_of_2">Логин</label>
             <div class="col span_1_of_2">
-              <input type="text" class="form-control" id="ftp_login" name="ftp_login">
+              <input type="text" class="form-control" id="ftp_login" name="ftp_login" maxlength="30">
             </div>
             <label for="ftp_password" class="col span_1_of_2">Пароль</label>
             <div class="col span_1_of_2">
-              <input type="password" class="form-control" id="ftp_password" name="ftp_password">
+              <input type="password" class="form-control" id="ftp_password" name="ftp_password" maxlength="30">
             </div>
             <label for="ftp_path" class="col span_1_of_2">Путь к файлу ПО <i style="color: #ADADAD">/dir/fw.bin</i></label>
             <div class="col span_1_of_2">
-              <input type="text" class="form-control" id="ftp_path" name="ftp_path">
+              <input type="text" class="form-control" id="ftp_path" name="ftp_path" maxlength="100">
             </div>
           </form>
         </div>