Ajout de la fonctionnalité de gestion des listes noires + refonte du système d'affichage des messages à l'utilisateur + création de la notion de page d'accueil + modification des paramètres de certaines fonctions + contôle de l'entrée d'informations utilisateurs sur les ajouts (faille XSS) + contrôle de l'existence d'un domaine lors de la création d'un alias virtuel + renommage de quelques variables

This commit is contained in:
ycharbi
2022-01-05 16:59:01 +01:00
parent 4651df9c62
commit 2f75db187a
20 changed files with 603 additions and 88 deletions
@@ -11,8 +11,15 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.php");
if (isset($_POST['nom_alias']) && isset($_POST['choix_domaine_alias']) && !empty($_POST['nom_alias']) && !empty($_POST['choix_domaine_alias'])) {
ajoutAliasVirtuelsPostfix($pdo);
// Permet le contrôle du domaine renseigné par l'utilisateur
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
$liste_domaines = listeDomainesPostfix($pdo);
var_dump($liste_domaines,$_POST);
//die();
if (isset($_POST['nom_alias_virtuel']) && isset($_POST['choix_domaine_alias_virtuel']) && !empty($_POST['nom_alias_virtuel']) && !empty($_POST['choix_domaine_alias_virtuel']) && in_array($_POST['choix_domaine_alias_virtuel'],array_column($liste_domaines,'domaine'))) {
ajoutAliasVirtuelsPostfix($pdo,$_POST['nom_alias_virtuel'],$_POST['choix_domaine_alias_virtuel']);
header ("Location: /pages/gestion/administration.php?page=alias&succes=1");
die();
}
@@ -9,7 +9,7 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.php");
modifEtatAliasVirtuelsPostfix($pdo);
modifEtatAliasVirtuelsPostfix($pdo,$_POST);
header ("Location: /pages/gestion/administration.php?page=alias&succes=2");
?>
@@ -9,7 +9,7 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/alias_virtuels.php");
if(isset($_GET['supprAliasVirtuel']) && !empty($_GET['supprAliasVirtuel']) && supprAliasVirtuelsPostfix($pdo)) {
if(isset($_GET['supprAliasVirtuel']) && !empty($_GET['supprAliasVirtuel']) && supprAliasVirtuelsPostfix($pdo,$_GET['supprAliasVirtuel'])) {
header ("Location: /pages/gestion/administration.php?page=alias&succes=3");
}
else {
@@ -9,7 +9,7 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
modifEtatDomainesPostfix($pdo);
modifEtatDomainesPostfix($pdo,$_POST);
header ("Location: /pages/gestion/administration.php?page=domaines&succes=6");
?>
@@ -9,7 +9,7 @@ require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/domaines.php");
if(isset($_GET['supprDomaine']) && !empty($_GET['supprDomaine']) && supprDomainesPostfix($pdo)) {
if(isset($_GET['supprDomaine']) && !empty($_GET['supprDomaine']) && supprDomainesPostfix($pdo,$_GET['supprDomaine'])) {
header ("Location: /pages/gestion/administration.php?page=domaines&succes=7");
}
else {
@@ -0,0 +1,31 @@
<?php
/**
* Page de traitement permettant l'ajout d'une entrée dans la liste noire des destinataires.
* C'est elle qui effectue les bons tests et appel la fonction adéquate.
* Elle est appelée par un formulaire de la page de gestion des listes noires elle-même appelée par la page d'administration centrale.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
if (isset($_POST['courriel_entree_liste_noire_dst']) && isset($_POST['choix_action_entree_liste_noire_dst']) && !empty($_POST['courriel_entree_liste_noire_dst']) && !empty($_POST['choix_action_entree_liste_noire_dst'])) {
if ($_POST['choix_action_entree_liste_noire_dst']=="REJECT" || $_POST['choix_action_entree_liste_noire_dst']=="DEFER") {
ajoutEntreeListeNoireDstPostfix($pdo,$_POST['courriel_entree_liste_noire_dst'],$_POST['choix_action_entree_liste_noire_dst']);
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=destinataires&succes=9");
die();
}
else {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=destinataires&erreur=9");
die();
}
}
else {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=destinataires&erreur=9");
die();
}
?>
@@ -0,0 +1,22 @@
<?php
/**
* Page de traitement permettant l'activation et la désactivation d'un ou plusieurs domaines.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
if (isset($_POST) && !empty($_POST)) {
modifEntreeListeNoireDstPostfix($pdo,$_POST);
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=destinataires&succes=10");
die();
}
else {
header ("Location: /pages/gestion/administration.php?listes_noires&sousPage=destinataires");
die();
}
?>
@@ -0,0 +1,19 @@
<?php
/**
* Page de traitement permettant la suppression d'un alias virtuel.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
if(isset($_GET['supprEntreeListeNoireDst']) && !empty($_GET['supprEntreeListeNoireDst']) && supprEntreeListeNoireDstPostfix($pdo,$_GET['supprEntreeListeNoireDst'])) {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=destinataires&succes=11");
}
else {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=destinataires&erreur=11");
}
?>
@@ -0,0 +1,30 @@
<?php
/**
* Page de traitement permettant l'ajout d'une entrée dans la liste noire des expéditeurs.
* C'est elle qui effectue les bons tests et appel la fonction adéquate.
* Elle est appelée par un formulaire de la page de gestion des listes noires elle-même appelée par la page d'administration centrale.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
if (isset($_POST['courriel_entree_liste_noire_exp']) && isset($_POST['choix_code_retour_entree_liste_noire_exp']) && !empty($_POST['courriel_entree_liste_noire_exp']) && !empty($_POST['choix_code_retour_entree_liste_noire_exp'])) {
if ($_POST['choix_code_retour_entree_liste_noire_exp']==554) {
ajoutEntreeListeNoireExpPostfix($pdo,$_POST['courriel_entree_liste_noire_exp'],$_POST['choix_code_retour_entree_liste_noire_exp']);
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=expediteurs&succes=12");
die();
}
else {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=expediteurs&erreur=13");
die();
}
}
else {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=expediteurs&erreur=13");
die();
}
?>
@@ -0,0 +1,22 @@
<?php
/**
* Page de traitement permettant l'activation et la désactivation d'un ou plusieurs domaines.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
if (isset($_POST) && !empty($_POST)) {
modifEntreeListeNoireExpPostfix($pdo,$_POST);
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=expediteurs&succes=13");
die();
}
else {
header ("Location: /pages/gestion/administration.php?listes_noires&sousPage=expediteurs");
die();
}
?>
@@ -0,0 +1,19 @@
<?php
/**
* Page de traitement permettant la suppression d'un alias virtuel.
*/
session_start();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/sessions/privileges.php");
testPrivileges();
require_once ($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/bdd/listes_noires.php");
if(isset($_GET['supprEntreeListeNoireExp']) && !empty($_GET['supprEntreeListeNoireExp']) && supprEntreeListeNoireExpPostfix($pdo,$_GET['supprEntreeListeNoireExp'])) {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=expediteurs&succes=14");
}
else {
header ("Location: /pages/gestion/administration.php?page=listes_noires&sousPage=expediteurs&erreur=15");
}
?>