<?php $pgtitle = "Firewall: Countryblock - Whitelist"; require("guiconfig.inc"); include("head.inc"); //set the config as a global variable global $config; $global_usage = '/usr/local/www/packages/countryblock/global_usage'; //$fh = fopen($global_usage, 'r'); //phpinfo(); ?> <body link="#0000CC" vlink="#0000CC" alink="#0000CC"> <?php include("fbegin.inc"); ?> <p class="pgtitle"><?=$pgtitle?></p> <?php if ($input_errors) print_input_errors($input_errors); ?> <?php if ($savemsg) print_info_box($savemsg); ?> <form method=POST action=""> <?php mwexec("touch countries-white.txt"); //$myFile = "countries-white.txt"; //$fh = fopen($myFile, 'a+'); ?> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr><td class="tabnavtbl"> <?php $tab_array = array(); $tab_array[0] = array("Countries", false, "countryblock.php"); $tab_array[1] = array("Settings", false, "settings.php"); $tab_array[2] = array("Whitelist", true, "whitelist.php"); $tab_array[3] = array("Interfaces", false, "countryblock_if.php"); $tab_array[4] = array("Help", false, "help.php"); $tab_array[5] = array("Email", false, "email.php"); display_top_tabs($tab_array); ?> </td></tr> <tr> <td> <div id="mainarea"> <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="listhdrr">Whitelist</td> </tr> <tr> <td class="listlr" valign="middle"> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <p> Enter the CIDR Range you would like to whitlist</p> <p><form method="post" action=""> <input name="content" type="text" /> <input type="image" src="../../themes/nervecenter/images/icons/icon_plus.gif" value="submit"> <a href="purge.php?line=0">Purge All</a> <STYLE type="text/css"> a img {border:none; } </STYLE> </head> <?php function delLineFromFile($fileName, $lineNum){ // check the file exists if(!is_writable($fileName)) { // print an error print "The file $fileName is not writable"; // exit the function exit; } else { // read the file into an array $arr = file($fileName); } // the line to delete is the line number minus 1, because arrays begin at zero $lineToDelete = $lineNum-1; // check if the line to delete is greater than the length of the file if($lineToDelete > sizeof($arr)) { // print an error print "You have chosen a line number, <b>[$lineNum]</b>, higher than the length of the file."; // exit the function exit; } //remove the line unset($arr["$lineToDelete"]); // open the file for reading if (!$fp = fopen($fileName, 'w+')) { // print an error print "Cannot open file ($fileName)"; // exit the function exit; } // if $fp is valid if($fp) { // write the array to the file foreach($arr as $line) { fwrite($fp,$line); } // close the file fclose($fp); } echo "done"; } $myFile = "countries-white.txt"; $content = $_REQUEST['content']; $fh = fopen($myFile, 'a+'); fwrite($fh, $content); if (strlen($content) > 1) { fwrite($fh, "\n"); } else { } fclose($fh); //echo (filesize($myFile)); if (filesize($myFile) > 1) { //$fh = fopen($myFile, 'r'); //$theData = fread($fh, filesize($myFile)); //fclose($fh); echo "<br/> Current List(s): <br/>"; // Get the whole file into a single string $fileContents = file_get_contents($myFile); // Explode the file contents string by each line $lines = explode(PHP_EOL, $fileContents); // Replace PHP_EOL with "\r\n" or "\n" or "\r" if you like // Iterate through each line and do what you need with it foreach ($lines as $line) { $i++; echo "<a href=purge.php?line=$i style='border-style: none'><img src='../../themes/nervecenter/images/icons/icon_x.gif'></a>"; echo " "; echo $line; //echo ""; // echo $i; echo "<br/>"; } //echo $theData; } echo "<br/><br/>"; ?></p> <p> <u>Usage</u> <br/> Enter a CIDR range for the Address you wish to whitlist. <br/> Example: 192.168.1.0/24 <br/><br/> </p> </form> </div> </td> </tr> </table> </td> </tr> </table> </div> <br> <?php echo "Current Status = "; ob_start(); $results = exec("pfctl -s rules | grep -c countryblock"); ob_end_clean(); if ($results > '0') echo "Running"; else echo "<span style='color:red'>NOT running</span>"; //Get Errors if exists ob_start(); $results = exec("tail -r errorOUT.txt"); ob_end_clean(); echo "<br/><span style='color:red'>"; echo $results; echo "</span>"; //Get IP Count echo "<br>You are blocking "; ob_start(); $results = exec("pfctl -T show -t countryblock |grep -v -c Z"); ob_end_clean(); echo $results; echo " Networks"; ?> <br><br> <p> </p> </td> </tr> </table> </form> <?php include("fend.inc"); ?> </body> </html>