v7.2.5.0: Add IP address validation and server field check

This commit primarily adds a function that validates IP addresses and a function that checks if a server field is filled in the script.js file. Also, it removes the token from several ajax requests, and improves error handling in server.py. In the users.js file, it updates the server info display functionality.
pull/387/head v7.2.6.0
Aidaho 2024-05-30 21:10:42 +03:00
parent 4caa8fdec3
commit 07cdbbfab5
3 changed files with 31 additions and 20 deletions

View File

@ -131,7 +131,16 @@ def get_system_info(server_ip: str) -> str:
raise Exception(e)
os_info = os_info.strip()
system_info = json.loads(sys_info_returned)
try:
system_info = json.loads(sys_info_returned)
system_info['id']
except Exception:
sys_info_returned = json.loads(sys_info_returned)
try:
sys_info_returned = sys_info_returned[0]
except Exception as e:
raise Exception(f'error: Cannot parse output {e}')
system_info = sys_info_returned
sys_info = {'hostname': system_info['id'], 'family': ''}
cpu = {'cpu_model': '', 'cpu_core': 0, 'cpu_thread': 0, 'hz': 0}
@ -342,7 +351,7 @@ def get_system_info(server_ip: str) -> str:
try:
server_sql.insert_system_info(server_id, os_info, sys_info, cpu, ram, network, disks)
except Exception as e:
raise e
raise f'error: Cannot get system info from server: {e}'
def show_system_info(server_ip: str, server_id: int) -> str:
@ -350,7 +359,7 @@ def show_system_info(server_ip: str, server_id: int) -> str:
try:
get_system_info(server_ip)
except Exception as e:
return f'error: Cannot get system info: {e}'
return f'{e}'
try:
system_info = server_sql.select_one_system_info(server_id)
except Exception as e:
@ -365,8 +374,10 @@ def update_system_info(server_ip: str, server_id: int) -> str:
try:
get_system_info(server_ip)
except Exception as e:
return f'{e}'
try:
system_info = server_sql.select_one_system_info(server_id)
return render_template('ajax/show_system_info.html', system_info=system_info, server_ip=server_ip, server_id=server_id)
except Exception as e:
return f'error: Cannot update server info: {e}'

View File

@ -1392,9 +1392,8 @@ function updateServerInfo(ip, id) {
if (data.indexOf('error:') != '-1' || data.indexOf('error_code') != '-1') {
toastr.error(data);
} else {
$("#server_info-" + id).html(data);
$('#server_info-' + id).show();
$('#server_info_link-' + id).attr('title', 'Hide System info');
$("#server-info").html(data);
$('#server-info').show();
$.getScript(awesome);
}
}

View File

@ -6,6 +6,20 @@ function validateEmail(email) {
const re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
function ValidateIPaddress(ipaddress) {
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(ipaddress)) {
return (true)
}
return (false)
}
var select_server = $('#translate').attr('data-select_server');
function checkIsServerFiled(select_id, message = select_server) {
if ($(select_id).val() == null || $(select_id).val() == '') {
toastr.warning(message);
return false;
}
return true;
}
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&amp;")
@ -166,10 +180,6 @@ if(localStorage.getItem('restart')) {
var ip_for_restart = localStorage.getItem('restart');
$.ajax({
url: "/app/service/check-restart/" + ip_for_restart,
// data: {
// token: $('#token').val()
// },
// type: "POST",
success: function (data) {
if (data.indexOf('ok') != '-1') {
var apply_div = $.find("#apply_div");
@ -320,10 +330,6 @@ $( document ).ajaxComplete(function( event, request, settings ) {
function showStats() {
$.ajax({
url: "/app/stats/view/" + $("#service").val() + "/" + $("#serv").val(),
// data: {
// token: $('#token').val()
// },
// type: "POST",
success: function (data) {
if (data.indexOf('error:') != '-1' && data.indexOf('Internal error:') == '-1') {
toastr.error(data);
@ -399,7 +405,6 @@ function showLog() {
hour1: hour1,
minute1: minute1,
file: file,
token: $('#token').val()
},
type: "POST",
success: function( data ) {
@ -429,7 +434,6 @@ function showRemoteLogFiles() {
url: "/app/logs/" + service + "/" + serv ,
data: {
serv: $("#serv").val(),
token: $('#token').val()
},
type: "POST",
success: function( data ) {
@ -479,7 +483,6 @@ function showCompare() {
data: {
left: $('#left').val(),
right: $("#right").val(),
token: $('#token').val()
},
type: "POST",
success: function( data ) {
@ -681,7 +684,6 @@ function viewLogs() {
minute: minute,
hour1: hour1,
minute1: minute1,
token: $('#token').val(),
},
type: "POST",
success: function (data) {
@ -1334,7 +1336,6 @@ function changeUserPasswordItOwn(d) {
data: {
updatepassowrd: pass,
uuid: Cookies.get('uuid'),
token: $('#token').val()
},
type: "POST",
success: function (data) {