| 
<?php/*
 * script for settings management
 * License: GNU
 * Copyright 2016 WebAppFirewall RomanShneer <[email protected]>
 */
 session_start();
 require_once "libs/db.inc.php";
 require_once "libs/waf_report.class.php";
 $WR=new WafReport;
 if(isset($_POST['save_settings'])&&($WR->isEditor()))
 {
 
 
 $WR->save_settings('waf_learn_status',isset($_POST['waf_learn_status'])?true:false);
 $WR->save_settings('waf_learn_ip_only',isset($_POST['waf_learn_ip_only'])?true:false);
 $WR->save_settings('waf_learn_ip',$_POST['waf_learn_ip']);
 $WR->save_settings('waf_learn_ip_approve',isset($_POST['waf_learn_ip_approve'])?true:false);
 $WR->save_settings('waf_guard_status',isset($_POST['waf_guard_status'])?true:false);
 $WR->save_settings('waf_skip_ip',$_POST['waf_skip_ip']);
 $WR->save_settings('url404',$_POST['url404']);
 $WR->save_settings('webmaster_email',$_POST['webmaster_email']);
 $WR->save_settings('waf_security_key',$_POST['waf_security_key']);
 $WR->save_settings('waf_security_key2',$_POST['waf_security_key2']);
 $WR->save_settings('waf_bf',$_POST['bf']);
 $WR->save_settings('waf_bf_attempt',$_POST['bf_attempt']);
 $WR->save_settings('waf_bf_bantime',$_POST['bf_bantime']);
 
 $WR->reload_settings();
 }
 
 ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="en" lang="en">
 <head>
 <?php require_once "include/head.php"; ?>
 <style>
 .settings_tbl th{
 font-weight:bold;
 }
 .settings_tbl th h2{
 display: table-cell;
 font-size:19px;
 margin:0;
 white-space:nowrap;
 
 }
 .settings_tbl th span{
 display: table-cell;
 width:100%;
 vertical-align: middle;
 }
 .settings_tbl th hr{
 color:black;
 }
 .settings_tbl th span hr{
 margin:3px 0 0 -1px;
 padding:0;
 color:black;
 }
 </style>
 </head>
 <body>
 <?php include_once 'include/header.php';?>
 <div>
 <div class='status_window'>
 <form action="" method="POST">
 <table class="settings_tbl">
 <tr><th colspan="2"><h2>W.A.F. Protection Status</h2><span><hr /></span></th></tr>
 <tr>
 <td align="center">
 
 <label for="waf_learn_status">Learn:</label>
 <input type="checkbox" name="waf_learn_status" id="waf_learn_status" <?php if($WR->waf_learn_status):?> checked="checked"<?php endif;?> <?php if($WR->isEditor()):?> readonly<?php endif;?>>
 </td>
 <td align="center">
 <label for="waf_guard_status">Guard:</label>
 <input type="checkbox" name="waf_guard_status" id="waf_guard_status" <?php if($WR->waf_guard_status):?> checked="checked"<?php endif;?> <?php if($WR->isEditor()):?> readonly<?php endif;?>>
 </td>
 </tr>
 <tr class="waf_learn_ip_only_tr" <?php if(!$WR->waf_learn_status):?> style="display:none"<?php endif;?>>
 <td>
 <label for="waf_learn_ip_only">Learn only from IPs:</label>
 <input type="checkbox" id="waf_learn_ip_only" name="waf_learn_ip_only" <?php if($WR->waf_learn_ip_only):?> checked="checked"<?php endif;?> <?php if($WR->isEditor()):?> readonly<?php endif;?>/>
 </td>
 <td>
 <div class="waf_learn_ip_approve_div" <?php if(!$WR->waf_learn_ip_only):?> style="display:none"<?php endif;?>>
 <label for="waf_learn_ip_approve">Approve Immediately</label>
 <input type="checkbox" name="waf_learn_ip_approve" id="waf_learn_ip_approve" <?php if($WR->waf_learn_ip_approve):?> checked="checked"<?php endif;?> <?php if($WR->isEditor()):?> readonly<?php endif;?>/>
 </div>
 </td>
 </tr>
 <tr class="waf_learn_ip_tr" <?php if(!$WR->waf_learn_ip_only):?> style="display:none"<?php endif;?>>
 <td>
 <label for="waf_learn_ip">Allowed IPs to learn:<br /><small>(comma separated)</small></label>
 </td>
 <td>
 <textarea id="waf_learn_ip" name="waf_learn_ip"  class="inset"/><?php echo $WR->waf_learn_ip;?></textarea>
 </td>
 </tr>
 <tr>
 <td><label for="waf_skip_ip">IPs WhiteList:<br /><small>Skips Learn\Guard Mode.</small></label></td>
 <td><textarea id="waf_skip_ip" name="waf_skip_ip" class="inset"><?php echo $WR->waf_skip_ip;?></textarea></td>
 </tr>
 <tr><th colspan="2"><h2>Security Keys</h2><span><hr /></span></th></tr>
 <tr>
 <td><label>Security Key</label></td>
 <td><input type="text" name="waf_security_key" id="waf_security_key" value="<?php echo $WR->waf_security_key;?>" class="inset"></td>
 </tr>
 <tr>
 <td><label>Security Key2</label></td>
 <td><input type="text" name="waf_security_key2" id="waf_security_key2" value="<?php echo $WR->waf_security_key2;?>" class="inset"></td>
 </tr>
 <tr><td colspan="2"><input type="button" class="add_user" id="new_waf_security_key" value="Generate New Keys" style="width:200px;"></td></tr>
 
 <tr><th colspan="2"><h2>Brute Force</h2><span><hr /></span></th></tr>
 <tr>
 <td><label>Brute Force Frequency</label></td>
 <td><input type="text" name="bf" id="bf" value="<?php echo $WR->waf_bf;?>" class="inset"></td>
 </tr>
 <tr>
 <td><label>Brute Force Attempts</label></td>
 <td><input type="text" name="bf_attempt" id="bf_attempt" value="<?php echo $WR->waf_bf_attempt;?>" class="inset"></td>
 </tr>
 <tr>
 <td>Brute Force Ban Time:</td>
 <td><input type='text' name="bf_bantime" id="bf_bantime" value="<?php echo $WR->waf_bf_bantime;?>" size="4" class="inset"> days <font style="color:dimgray;font-size:12px;">(0 days - block always)</font></td>
 </tr>
 
 <tr><th colspan="2"><h2>Customization</h2><span><hr /></span></th></tr>
 <tr>
 <td><label>404 Page URL</label></td>
 <td><input type="text" name="url404" id="url404" value="<?php echo $WR->url404;?>" class="inset"></td>
 </tr>
 <tr>
 <td><label>Webmaster Email</label><br><small>(showed on 404 Page)</small></td>
 <td><input type="text" name="webmaster_email" id="webmaster_email" value="<?php echo $WR->webmaster_email;?>" class="inset" placeholder="[email protected]"></td>
 </tr>
 <tr><th colspan=2><hr /></th></tr>
 <tr>
 <td colspan="2"><input type="submit" value="Save" id="save_settings" name="save_settings" class="green_btn"></td>
 </tr>
 </table>
 </form>
 </div>
 </div>
 <script>
 $('#new_waf_security_key').click(function (){
 if(confirm("If you change Security Key, you need immidiatly change it in HTACCESS EDIT, just save new code instead of old one."))
 {
 $.get( "ajax.php?act=generate_key", function( json ) {
 if(typeof(json.key)!='undefined')$('#waf_security_key').val(json.key);
 if(typeof(json.key2)!='undefined')$('#waf_security_key2').val(json.key2);
 },'json');
 }
 });
 //learn status changed
 $('#waf_learn_status').change(function (event){
 if($(event.target).is(":checked"))
 {
 $('.waf_learn_ip_only_tr').show();
 
 }else{
 $('.waf_learn_ip_only_tr').hide();
 $('#waf_learn_ip_only').attr('checked',false);
 $('.waf_learn_ip_tr').hide();
 
 }
 });
 
 $('#waf_learn_ip_only').change(function (event){
 if($(event.target).is(":checked"))
 {
 $('.waf_learn_ip_tr').show();
 $('.waf_learn_ip_approve_div').show();
 }else{
 $('.waf_learn_ip_tr').hide();
 $('.waf_learn_ip_approve_div').hide();
 $('.waf_learn_ip_approve').attr('checked',false);
 }
 });
 </script>
 <!--VARS SINGLE MENU EOF-->
 </body>
 </html>
 |