diff --git a/app/templates/add.html b/app/templates/add.html index 55c97b2d..da91de5f 100644 --- a/app/templates/add.html +++ b/app/templates/add.html @@ -190,7 +190,7 @@ Name: - + diff --git a/inc/script.js b/inc/script.js index 6912be84..9a58e8bd 100644 --- a/inc/script.js +++ b/inc/script.js @@ -816,30 +816,102 @@ $( function() { replace_text("#optionsInput1", slow_atack); } }); - var table_name = Math.floor(Math.random() * 1000); - var ddos_var = "#Start config for DDOS atack protecte\n"+ - "stick-table type ip size 1m expire 1m store gpc0,http_req_rate(10s),http_err_rate(10s)\n"+ - "tcp-request connection track-sc1 src\n"+ - "tcp-request connection reject if { sc1_get_gpc0 gt 0 }\n"+ - "#End config for DDOS\n" + $("#ddos").checkboxradio( "disable" ); + $("#ddos1").checkboxradio( "disable" ); + $("#ddos2").checkboxradio( "disable" ); + $( "#name" ).change(function() { + table_name = $('#name').val(); + table_name = $.trim(table_name) + if($('#name').val() != "") { + $("#ddos").checkboxradio( "enable" ); + } else { + $("#ddos").checkboxradio( "disable" ); + } + }); + $( "#new_frontend" ).change(function() { + table_name = $('#new_frontend').val(); + table_name = $.trim(table_name) + if($('#new_frontend').val() != "") { + $("#ddos1").checkboxradio( "enable" ); + } else { + $("#ddos1").checkboxradio( "disable" ); + } + }); + $( "#new_backend" ).change(function() { + table_name = $('#new_backend').val(); + table_name = $.trim(table_name) + if($('#new_backend').val() != "") { + $("#ddos2").checkboxradio( "enable" ); + } else { + $("#ddos2").checkboxradio( "disable" ); + } + }); $('#ddos').click(function() { - if($('#optionsInput').val().indexOf(ddos_var) == '-1') { + if($('#name').val() == "") { $("#optionsInput").append(ddos_var) + } + var ddos_var = "#Start config for DDOS atack protecte\n"+ + "stick-table type ip size 1m expire 1m store gpc0,http_req_rate(10s),http_err_rate(10s)\n"+ + "tcp-request connection track-sc1 src\n"+ + "tcp-request connection reject if { sc1_get_gpc0 gt 0 }\n"+ + "# Abuser means more than 100reqs/10s\n"+ + "acl abuse sc1_http_req_rate("+table_name+") ge 100\n"+ + "acl flag_abuser sc1_inc_gpc0("+table_name+")\n"+ + "tcp-request content reject if abuse flag_abuser\n"+ + "End config for DDOS\n"; + if($('#optionsInput').val().indexOf(ddos_var) == '-1') { + if($('#name').val() == "") { + alert("First set Listen name") + } else { + $("#optionsInput").append(ddos_var); + } } else { replace_text("#optionsInput", ddos_var); } }); $('#ddos1').click(function() { - if($('#optionsInput1').val().indexOf(ddos_var) == '-1') { + if($('#new_frontend').val() == "") { $("#optionsInput1").append(ddos_var) + } + var ddos_var = "#Start config for DDOS atack protecte\n"+ + "stick-table type ip size 1m expire 1m store gpc0,http_req_rate(10s),http_err_rate(10s)\n"+ + "tcp-request connection track-sc1 src\n"+ + "tcp-request connection reject if { sc1_get_gpc0 gt 0 }\n"+ + "# Abuser means more than 100reqs/10s\n"+ + "acl abuse sc1_http_req_rate("+table_name+") ge 100\n"+ + "acl flag_abuser sc1_inc_gpc0("+table_name+")\n"+ + "tcp-request content reject if abuse flag_abuser\n"+ + "End config for DDOS\n"; + if($('#optionsInput1').val().indexOf(ddos_var) == '-1') { + if($('#new_frontend').val() == "") { + alert("First set Frontend name") + } else { + $("#optionsInput1").append(ddos_var) + } } else { replace_text("#optionsInput1", ddos_var); } }); $('#ddos2').click(function() { + if($('#new_backend').val() == "") { + table_name = $('#new_backend').val(); + } + var ddos_var = "#Start config for DDOS atack protecte\n"+ + "stick-table type ip size 1m expire 1m store gpc0,http_req_rate(10s),http_err_rate(10s)\n"+ + "tcp-request connection track-sc1 src\n"+ + "tcp-request connection reject if { sc1_get_gpc0 gt 0 }\n"+ + "# Abuser means more than 100reqs/10s\n"+ + "acl abuse sc1_http_req_rate("+table_name+") ge 100\n"+ + "acl flag_abuser sc1_inc_gpc0("+table_name+")\n"+ + "tcp-request content reject if abuse flag_abuser\n"+ + "End config for DDOS\n"; if($('#optionsInput2').val().indexOf(ddos_var) == '-1') { - $("#optionsInput2").append(ddos_var) + if($('#new_backend').val() == "") { + alert("First set Backend name") + } else { + $("#optionsInput2").append(ddos_var) + } } else { replace_text("#optionsInput2", ddos_var); }