15,11 → 15,26 |
if ($list[strlen($list)-1] != "\n") { $list[strlen($list)]="\n";} ;} ; |
return $list; |
} |
function form_filter_ip ($form_content) |
function form_filter_ip($form_content, $color) |
{ |
$list = form_filter($form_content); |
$list = preg_replace("/(.*)\n/", "add blacklist_ip_blocked $1\n", $list); |
return $list; |
//# reconstruction des ip |
$list = explode("\n", form_filter($form_content)); |
$new_list = ""; |
foreach($list as &$value) |
{ |
if(preg_match('/([0-9]{1,3}.){3}[0-9]{1,3}/', $value)) |
{ |
$new_list = $new_list.$value."\n"; |
} |
} |
if($color == "white") |
{ |
return preg_replace("/(.*)\n/", "add whitelist_ip_allowed $1\n", $new_list); |
} |
else |
{ |
return preg_replace("/(.*)\n/", "add blacklist_ip_blocked $1\n", $new_list); |
} |
} |
# Choice of language |
$Language = 'en'; |
129,6 → 144,7 |
$dir_etc="/usr/local/etc/"; |
$dir_dg="/etc/dansguardian/lists/"; |
$dir_bl_ip="/usr/local/share/iptables-bl/"; |
$file_wl_ip="/usr/local/share/ossi_wl"; |
$bl_categories=$dir_etc."alcasar-bl-categories"; |
$bl_categories_enabled=$dir_etc."alcasar-bl-categories-enabled"; |
$wl_categories=$dir_etc."alcasar-wl-categories"; |
200,7 → 216,7 |
fclose($fichier); |
unset($_POST['BL_rehabilited_domains']); |
$fichier=fopen($dir_bl_ip."ossi","w+"); |
fputs($fichier, form_filter_ip($_POST['OSSI_bl_ip'])); |
fputs($fichier, form_filter_ip($_POST['OSSI_bl_ip'], "black")); |
fclose($fichier); |
unset($_POST['OSSI_bl_ip']); |
$fichier=fopen($dir_dg."exceptioniplist","w+"); |
229,10 → 245,10 |
fputs($fichier, form_filter($_POST['OSSI_wl_domains'])); |
fclose($fichier); |
unset($_POST['OSSI_wl_domains']); |
$fichier=fopen($dir_dg."blacklists/ossi/urls_wl","w+"); |
fputs($fichier, form_filter($_POST['OSSI_wl_urls'])); |
$fichier=fopen($file_wl_ip, "w+"); |
fputs($fichier, form_filter_ip($_POST['OSSI_wl_ip'], "white")); |
fclose($fichier); |
unset($_POST['OSSI_wl_urls']); |
unset($_POST['OSSI_wl_ip']); |
exec ("sudo /usr/local/sbin/alcasar-bl.sh --reload"); |
break; |
case 'Specific_filtering' : |
264,9 → 280,12 |
if(!empty($nom)) |
{ |
# On l'upload |
if(move_uploaded_file($_FILES['fichier_ip']['tmp_name'], $upload_dir."ossi-".$nom)) |
if(move_uploaded_file($_FILES['fichier_ip']['tmp_name'], $upload_dir.$nom)) |
{ |
exec("sed -i \"s/^/add blacklist_ip_blocked /g\" $upload_dir\ossi-$nom"); # On crée la sauvegarde du set |
# On extrait uniquement les ip du fichier |
exec("grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' $upload_dir$nom > $upload_dir\ossi-$nom"); |
# On crée la sauvegarde du set |
exec("sed -i \"s/^/add blacklist_ip_blocked /g\" $upload_dir\ossi-$nom && rm -f $upload_dir$nom"); |
} |
else |
{ |