Line 74... |
Line 74... |
74 |
$l_ip_filtering="Filtrer les URLs contenant une adresse IP au lieu d'un nom de domaine (ex: http://25.56.58.59/index.htm)";
|
74 |
$l_ip_filtering="Filtrer les URLs contenant une adresse IP au lieu d'un nom de domaine (ex: http://25.56.58.59/index.htm)";
|
75 |
$l_safe_searching="Activer le contrôle scolaire/parental des moteurs de recherche : google, yahoo, bing, metacrawler et Youtube.";
|
75 |
$l_safe_searching="Activer le contrôle scolaire/parental des moteurs de recherche : google, yahoo, bing, metacrawler et Youtube.";
|
76 |
$l_safe_youtube="Pour Youtube, entrez votre identifiant ici : ";
|
76 |
$l_safe_youtube="Pour Youtube, entrez votre identifiant ici : ";
|
77 |
$l_youtube_id="(<a href='http://www.youtube.com/education_signup' target='cat_help' onclick=window.open('http://www.youtube.com/education_signup','cat_help','width=800,height=600,toolbar=no,scrollbars=yes,resizable=yes') title='Youtube for school'>lien pour créer un identifiant Youtube (Id)</a>)";
|
77 |
$l_youtube_id="(<a href='http://www.youtube.com/education_signup' target='cat_help' onclick=window.open('http://www.youtube.com/education_signup','cat_help','width=800,height=600,toolbar=no,scrollbars=yes,resizable=yes') title='Youtube for school'>lien pour créer un identifiant Youtube (Id)</a>)";
|
78 |
$l_error_open_file="Erreur d'ouverture du fichier";
|
78 |
$l_error_open_file="Erreur d'ouverture du fichier";
|
79 |
$l_ip_file_title="Fichier d'IP";
|
79 |
$l_personal_file_title="Fichiers personnels";
|
80 |
$l_file_list="Liste des fichiers IP";
|
80 |
$l_file_list="Liste des fichiers IP";
|
81 |
$l_add_ip_file="Ajouter un fichier d'IP (une IP par ligne)";
|
81 |
$l_add_file="Ajouter un fichier (une entrée par ligne)";
|
82 |
$l_file_name="Nom du fichier";
|
82 |
$l_file_name="Nom du fichier";
|
83 |
$l_file_remove="Supprimer";
|
83 |
$l_file_remove="Supprimer";
|
84 |
$l_error_upload="Erreur d'envoi du fichier d'ip";
|
84 |
$l_error_upload="Erreur d'envoi du fichier";
|
85 |
$l_remove="Supprimer";
|
85 |
$l_remove="Supprimer";
|
86 |
$l_submit="Envoyer";
|
86 |
$l_submit="Envoyer";
|
87 |
$l_nb_ip="Nombre d'IP";
|
87 |
$l_nb_ip="Nombre d'IP";
|
- |
|
88 |
$l_nb_domain_names="Nombre de noms de domaine";
|
88 |
$l_nbDomainNames="Noms de domaine :";
|
89 |
$l_nbDomainNames="Noms de domaine :";
|
89 |
$l_nbUrl="Url :";
|
90 |
$l_nbUrl="Url :";
|
90 |
$l_nbIp="Ip :";
|
91 |
$l_nbIp="Ip :";
|
91 |
}
|
92 |
}
|
92 |
else {
|
93 |
else {
|
Line 122... |
Line 123... |
122 |
$l_ip_filtering="Filtering URLs that contain an IP address instead of a domain name (ie: http://25.56.58.59/index.htm)";
|
123 |
$l_ip_filtering="Filtering URLs that contain an IP address instead of a domain name (ie: http://25.56.58.59/index.htm)";
|
123 |
$l_safe_searching="Enabling school/parental control for the search engines google, yahoo, bing, metacrawler and Youtube.";
|
124 |
$l_safe_searching="Enabling school/parental control for the search engines google, yahoo, bing, metacrawler and Youtube.";
|
124 |
$l_safe_youtube="For Youtube, enter your ID here : ";
|
125 |
$l_safe_youtube="For Youtube, enter your ID here : ";
|
125 |
$l_youtube_id="(<a href='http://www.youtube.com/education_signup' target='cat_help' onclick=window.open('http://www.youtube.com/education_signup','cat_help','width=800,height=600,toolbar=no,scrollbars=yes,resizable=yes') title='Youtube for school'>link to create a Youtube Id</a>)";
|
126 |
$l_youtube_id="(<a href='http://www.youtube.com/education_signup' target='cat_help' onclick=window.open('http://www.youtube.com/education_signup','cat_help','width=800,height=600,toolbar=no,scrollbars=yes,resizable=yes') title='Youtube for school'>link to create a Youtube Id</a>)";
|
126 |
$l_error_open_file="Error opening file";
|
127 |
$l_error_open_file="Error opening file";
|
127 |
$l_ip_file_title="IP files";
|
128 |
$l_personal_file_title="Personal files";
|
128 |
$l_file_list="IP files list";
|
129 |
$l_file_list="Files list";
|
129 |
$l_add_ip_file="Add a file of IP (one IP per line)";
|
130 |
$l_add_file="Add a file (one entry per line)";
|
130 |
$l_file_name="Filename";
|
131 |
$l_file_name="Filename";
|
131 |
$l_file_remove="Remove";
|
132 |
$l_file_remove="Remove";
|
132 |
$l_error_upload="Error during the upload process";
|
133 |
$l_error_upload="Error during the upload process";
|
133 |
$l_remove="Delete";
|
134 |
$l_remove="Delete";
|
134 |
$l_submit="Submit";
|
135 |
$l_submit="Submit";
|
135 |
$l_nb_ip="Number of IP";
|
136 |
$l_nb_ip="Number of IP";
|
- |
|
137 |
$l_nb_domain_names="Number of domain names";
|
136 |
$l_nbDomainNames="Domain names :";
|
138 |
$l_nbDomainNames="Domain names :";
|
137 |
$l_nbUrl="Url :";
|
139 |
$l_nbUrl="Url :";
|
138 |
$l_nbIp="Ip :";
|
140 |
$l_nbIp="Ip :";
|
139 |
}
|
141 |
}
|
140 |
$dir_etc="/usr/local/etc/";
|
142 |
$dir_etc="/usr/local/etc/";
|
Line 148... |
Line 150... |
148 |
$conf_file=$dir_etc."alcasar.conf";
|
150 |
$conf_file=$dir_etc."alcasar.conf";
|
149 |
$dir_blacklist=$dir_dg."blacklist/";
|
151 |
$dir_blacklist=$dir_dg."blacklist/";
|
150 |
$urlregex_file=$dir_dg."urlregexplist";
|
152 |
$urlregex_file=$dir_dg."urlregexplist";
|
151 |
$bannedsite_file=$dir_dg."bannedsitelist";
|
153 |
$bannedsite_file=$dir_dg."bannedsitelist";
|
152 |
$dir_tmp="/tmp/blacklists";
|
154 |
$dir_tmp="/tmp/blacklists";
|
153 |
$upload_dir = "/usr/local/share/iptables-bl-enabled/";
|
155 |
$upload_dir_ip = "/usr/local/share/iptables-bl-enabled/";
|
- |
|
156 |
$upload_dir_domain_names = "/usr/local/share/dnsmasq-bl-enabled/";
|
154 |
# default values
|
157 |
# default values
|
155 |
if (is_file ($conf_file))
|
158 |
if (is_file ($conf_file))
|
156 |
{
|
159 |
{
|
157 |
$tab=file($conf_file);
|
160 |
$tab=file($conf_file);
|
158 |
if ($tab)
|
161 |
if ($tab)
|
Line 255... |
Line 258... |
255 |
case 'MAJ_ip_file_delete' :
|
258 |
case 'MAJ_ip_file_delete' :
|
256 |
foreach($_POST as $fichier => $value)
|
259 |
foreach($_POST as $fichier => $value)
|
257 |
{
|
260 |
{
|
258 |
if($fichier != "choix")
|
261 |
if($fichier != "choix")
|
259 |
{
|
262 |
{
|
260 |
exec("rm -rf $upload_dir$fichier");
|
263 |
exec("rm -rf $upload_dir_ip$fichier");
|
- |
|
264 |
exec("rm -rf $upload_dir_domain_names$fichier");
|
- |
|
265 |
exec ("sudo /usr/local/sbin/alcasar-bl.sh --reload");
|
261 |
}
|
266 |
}
|
262 |
}
|
267 |
}
|
263 |
exec ("sudo /usr/local/bin/alcasar-iptables.sh");
|
- |
|
264 |
break;
|
268 |
break;
|
265 |
case 'MAJ_ip_file_upload' :
|
269 |
case 'MAJ_ip_file_upload' :
|
266 |
$nom = basename($_FILES['fichier_ip']['name']);
|
270 |
$nom = basename($_FILES['fichier_ip']['name']);
|
267 |
# Si un fichier a été choisi
|
271 |
# Si un fichier a été choisi
|
268 |
if(!empty($nom))
|
272 |
if(!empty($nom))
|
269 |
{
|
273 |
{
|
270 |
# On l'upload
|
274 |
# On l'upload
|
271 |
if(move_uploaded_file($_FILES['fichier_ip']['tmp_name'], $upload_dir.$nom))
|
275 |
if(move_uploaded_file($_FILES['fichier_ip']['tmp_name'], $upload_dir_ip.$nom))
|
272 |
{
|
276 |
{
|
273 |
# On extrait uniquement les ip du fichier
|
277 |
# On extrait uniquement les ip du fichier
|
274 |
exec("grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' $upload_dir$nom > $upload_dir\ossi-$nom");
|
278 |
exec("grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' $upload_dir_ip$nom > $upload_dir_ip\ossi-ip");
|
- |
|
279 |
|
- |
|
280 |
# Suppression des doublons
|
- |
|
281 |
exec("sort -u $upload_dir_ip\ossi-ip > $upload_dir_ip\ossi-$nom && rm -f $upload_dir_ip\ossi-ip");
|
- |
|
282 |
|
275 |
# On crée la sauvegarde du set
|
283 |
# On adapte le fichier à la sauvegarde du set
|
276 |
exec("sed -i \"s/^/add blacklist_ip_blocked /g\" $upload_dir\ossi-$nom && rm -f $upload_dir$nom");
|
284 |
exec("sed -i \"s/^/add blacklist_ip_blocked /g\" $upload_dir_ip\ossi-$nom");
|
- |
|
285 |
|
- |
|
286 |
# On extrait uniquement les noms de domaine
|
- |
|
287 |
exec("grep -Eo '([a-zA-Z0-9_-]+\.){1,2}[a-zA-Z]{2,3}' $upload_dir_ip$nom > $upload_dir_domain_names\ossi-domain_names");
|
- |
|
288 |
|
- |
|
289 |
# Suppression des doublons
|
- |
|
290 |
exec("sort -u $upload_dir_domain_names\ossi-domain_names > $upload_dir_domain_names\ossi-$nom && rm -f $upload_dir_domain_names\ossi-domain_names");
|
- |
|
291 |
|
- |
|
292 |
# On adapte le fichier pour Dnsmasq
|
- |
|
293 |
exec("sed -i \"s/^/address=\//g\" $upload_dir_domain_names\ossi-$nom");
|
- |
|
294 |
exec("sed -i \"s/$/\/192.168.182.1/g\" $upload_dir_domain_names\ossi-$nom");
|
- |
|
295 |
|
- |
|
296 |
# Suppression du fichier
|
- |
|
297 |
exec("rm -f $upload_dir_ip$nom");
|
277 |
}
|
298 |
}
|
278 |
else
|
299 |
else
|
279 |
{
|
300 |
{
|
280 |
echo $l_error_upload;
|
301 |
echo $l_error_upload;
|
281 |
}
|
302 |
}
|
- |
|
303 |
exec ("sudo /usr/local/sbin/alcasar-bl.sh --reload");
|
282 |
}
|
304 |
}
|
283 |
exec ("sudo /usr/local/bin/alcasar-iptables.sh");
|
- |
|
284 |
break;
|
305 |
break;
|
285 |
}
|
306 |
}
|
286 |
?>
|
307 |
?>
|
287 |
<?php
|
308 |
<?php
|
288 |
require ('bl_filter2.php');
|
309 |
require ('bl_filter2.php');
|