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:
@@ -73,14 +73,14 @@ function changeDomaineDefautPostfix($pdo,$choix_domaine_defaut) {
|
||||
}
|
||||
else {
|
||||
// En cas d'erreur non gérée, le script s'arrête avec un message d'erreur à destination de l'administrateur du serveur
|
||||
die ("Erreur de requête de modification d'état pour les alias virtuels : ".$e->getMessage());
|
||||
die ("Erreur de requête de modification de préférence pour le domaine par défaut : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fonction d'ajout d'un alias virtuel.
|
||||
* Fonction d'ajout d'un domaine.
|
||||
*/
|
||||
function ajoutDomainePostfix($pdo,$nom_domaine) {
|
||||
try {
|
||||
@@ -88,7 +88,7 @@ function ajoutDomainePostfix($pdo,$nom_domaine) {
|
||||
$req='INSERT INTO postfix_domaines (domaine,defaut,active) VALUES (:domaine,0,1)';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':domaine',$nom_domaine);
|
||||
$sql->bindValue(':domaine',substr(htmlspecialchars($nom_domaine),0,49));
|
||||
$sql->execute();
|
||||
|
||||
if ($sql->rowCount() == 1){
|
||||
@@ -105,7 +105,7 @@ function ajoutDomainePostfix($pdo,$nom_domaine) {
|
||||
|
||||
if ($code_retour[0]=="23000") {
|
||||
// Code de retour envoyé par le pilote PDO SQLite signifiant que la contrainte "UNIQUE" du champ "domaine" de la table "postfix_domaines" est violée. Le domaine envoyé via le formulaire par l'administrateur a déjà été renseigné dans la base
|
||||
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=3");
|
||||
header ("Location: /pages/gestion/administration.php?page=domaines&erreur=7");
|
||||
die();
|
||||
}
|
||||
elseif ($code_retour[0]=="HY000") {
|
||||
@@ -115,7 +115,7 @@ function ajoutDomainePostfix($pdo,$nom_domaine) {
|
||||
}
|
||||
else {
|
||||
// En cas d'erreur non gérée, le script s'arrête avec un message d'erreur à destination de l'administrateur du serveur
|
||||
die ("Erreur de requête d'ajout d'alias virtuel : ".$e->getMessage());
|
||||
die ("Erreur de requête d'ajout d'un domaine : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -125,10 +125,10 @@ function ajoutDomainePostfix($pdo,$nom_domaine) {
|
||||
* Suite à une soumission du formulaire dédié, cette fonction va traiter l'ensemble des domaines d'un utilisateur.
|
||||
* Elle occasionnera peut-être des baisses de performance si un très grand nombre de domaines existe pour un utilisateur donné (le traitement n'intervenant pas spécifiquement pour l'entrée modifiée).
|
||||
*/
|
||||
function modifEtatDomainesPostfix($pdo) {
|
||||
function modifEtatDomainesPostfix($pdo,$retour_form) {
|
||||
try {
|
||||
$compteModifs=0;
|
||||
foreach ($_POST as $id_domaine => $etat_domaine) {
|
||||
foreach ($retour_form as $id_domaine => $etat_domaine) {
|
||||
$req='UPDATE postfix_domaines SET active=:etat_domaine WHERE id=:id_domaine AND defaut!=1';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
@@ -148,7 +148,7 @@ function modifEtatDomainesPostfix($pdo) {
|
||||
}
|
||||
else {
|
||||
// En cas d'erreur non gérée, le script s'arrête avec un message d'erreur à destination de l'administrateur du serveur
|
||||
die ("Erreur de requête de modification d'état pour les alias virtuels : ".$e->getMessage());
|
||||
die ("Erreur de requête de modification d'état pour les domaines : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -156,12 +156,12 @@ function modifEtatDomainesPostfix($pdo) {
|
||||
/**
|
||||
* Fonction de suppression d'un domaine.
|
||||
*/
|
||||
function supprDomainesPostfix($pdo) {
|
||||
function supprDomainesPostfix($pdo,$suppr_domaine) {
|
||||
try {
|
||||
$req='DELETE FROM postfix_domaines WHERE id=:id_domaine AND defaut!=1';
|
||||
|
||||
$sql=$pdo->prepare($req);
|
||||
$sql->bindValue(':id_domaine',$_GET['supprDomaine']);
|
||||
$sql->bindValue(':id_domaine',$suppr_domaine);
|
||||
$sql->execute();
|
||||
|
||||
if($sql->rowCount() == 1){
|
||||
@@ -182,7 +182,7 @@ function supprDomainesPostfix($pdo) {
|
||||
}
|
||||
else {
|
||||
// En cas d'erreur non gérée, le script s'arrête avec un message d'erreur à destination de l'administrateur du serveur
|
||||
die ("Erreur de requête de suppression d'un alias virtuel : ".$e->getMessage());
|
||||
die ("Erreur de requête de suppression d'un domaine : ".$e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user