Subversion Repositories ALCASAR

Rev

Rev 876 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
504 richard 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
<HTML><!-- written by Rexy -->
3
<HEAD>
4
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
<TITLE>ALCASAR Filter Exceptions</TITLE>
6
<link rel="stylesheet" href="/css/style.css" type="text/css">
7
</HEAD>
8
<body>
9
<?
10
# Choice of language
11
$Language = 'en';
12
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
13
  $Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
14
  $Language = strtolower(substr(chop($Langue[0]),0,2)); }
15
if($Language == 'fr'){
715 richard 16
  $l_error_open_file="Erreur d'ouverture du fichier";
504 richard 17
  $l_exception_IP = "Exception au filtrage";
876 richard 18
  $l_exception_txt="Entrez ici les adresses IP des stations du réseau de consultation ne subissant ni filtrage de domaine ni filtrage réseau<BR>Entrez une adresse IP par ligne";
504 richard 19
  $l_submit = "Enregistrer";
20
}
21
else {
715 richard 22
  $l_error_open_file="Error opening the file";
504 richard 23
  $l_exception_IP = "Network filtering exceptions";
876 richard 24
  $l_exception_txt="Put here the stations IP address that won't be neither domain filtered nor network filtered<BR>Put one IP per row";
504 richard 25
  $l_submit = "Submit";
26
}
715 richard 27
$conf_file="/usr/local/etc/alcasar.conf";
504 richard 28
if (isset($_POST['choix'])){
29
        switch ($_POST['choix'])
30
        {
31
        case 'IP_exceptions' :
773 richard 32
                // ISO encode + unix format 
504 richard 33
                $ip_list = str_replace("\r\n", "\n", utf8_decode($_POST['exception_list']));
34
                unset($_POST['exception_list']);
773 richard 35
                // write exception IP for Dansguardian (URL filter)
504 richard 36
                $fichier=fopen("/etc/dansguardian/lists/exceptioniplist", "w+");
773 richard 37
                if (strlen($ip_list) > 7) { fputs($fichier,$ip_list);} //only if not empty
504 richard 38
                fclose($fichier);
773 richard 39
                // write exception IP for DnsMasq (DNS blackholl)
504 richard 40
                $fichier=fopen("/usr/local/etc/alcasar-filter-exceptions", "w+");
773 richard 41
                if (strlen($ip_list) > 7) { fputs($fichier, $ip_list);} // only if not empty
504 richard 42
                fclose($fichier);
773 richard 43
                // test if Dansguardian filter is enabled
715 richard 44
                if (is_file ($conf_file))
504 richard 45
                        {
715 richard 46
                        $tab=file($conf_file);
47
                        if ($tab)
504 richard 48
                                {
715 richard 49
                                foreach ($tab as $line)
504 richard 50
                                        {
715 richard 51
                                        $field=explode("=", $line);
52
                                        if ($field[0] == "DNS_FILTERING")       {$DNS_FILTERING=trim($field[1]);}
53
                                        if ($field[0] == "PROTOCOLS_FILTERING") {$PROTOCOLS_FILTERING=trim($field[1]);}
504 richard 54
                                        }
55
                                }
56
                        }
715 richard 57
                else { echo "$l_error_open_file $conf_file";}
58
                if ($DNS_FILTERING == "on")
504 richard 59
                        {
60
                        exec ("sudo service dansguardian restart");
61
                        }
715 richard 62
                if (($DNS_FILTERING == "on")||($PROTOCOLS_FILTERING == "on"))
63
                        {
64
                        exec ("sudo /usr/local/bin/alcasar-iptables.sh");
65
                        }
504 richard 66
        break;
67
        }      
68
}
69
?>
70
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
71
        <tr><th><?php echo $l_exception_IP ;?></th></tr>
72
        <tr bgcolor="#FFCC66"><td><img src="/images/pix.gif" width="1" height="2"></td></tr>
73
</TABLE>
74
<TABLE width="100%" border=1 cellspacing=0 cellpadding=1>
75
<tr><td valign="middle" align="left">
76
<TABLE width=70% border=0>
77
<?php
78
echo "<form action='$_SERVER[PHP_SELF]' method='POST'>";
79
echo " $l_exception_txt";
80
echo "<BR><textarea name='exception_list' rows=5 cols=40>";
81
$filename="/usr/local/etc/alcasar-filter-exceptions";
82
if (file_exists($filename))
83
        {
84
        if (filesize($filename) != 0)
85
                {
86
                $pointeur=fopen($filename,"r");
87
                $tampon = fread($pointeur, filesize($filename));
88
                fclose($pointeur);
89
                echo $tampon;
90
                }
91
        }
92
        else
93
        {
94
        echo "erreur d'ouverture du fichier $filename";
95
        }
96
echo "</textarea><BR>";
97
?>
98
<input type='hidden' name='choix' value='IP_exceptions'>
1240 richard 99
<input type='submit' value='<?php echo $l_submit ;?>'></CENTER>
504 richard 100
</FORM>
101
</td></tr>
102
</TABLE>
103
</BODY>
104
</HTML>