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
+6 -6
View File
@@ -48,14 +48,14 @@ function listeAliasVirtuelsPostfix($pdo) {
/**
* Fonction d'ajout d'un alias virtuel.
*/
function ajoutAliasVirtuelsPostfix($pdo) {
function ajoutAliasVirtuelsPostfix($pdo,$nom_alias_virtuel,$choix_domaine_alias_virtuel) {
try {
// Insertion de l'alias virtuel entré par l'utilisateur et lié avec son adresse
$req='INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES (:alias_virtuel,:courriel,1)';
$sql=$pdo->prepare($req);
$sql->bindValue(':courriel',$_SESSION['pseudo_utilisateur']);
$sql->bindValue(':alias_virtuel',retournePrefixeUtilisateurPostfix($pdo).$_POST['nom_alias']."@".$_POST['choix_domaine_alias']);
$sql->bindValue(':alias_virtuel',substr(htmlspecialchars(retournePrefixeUtilisateurPostfix($pdo).$nom_alias_virtuel."@".$choix_domaine_alias_virtuel),0,49));
$sql->execute();
if ($sql->rowCount() == 1){
@@ -92,10 +92,10 @@ function ajoutAliasVirtuelsPostfix($pdo) {
* Suite à une soumission du formulaire dédié, cette fonction va traiter l'ensemble des alias virtuels d'un utilisateur.
* Elle occasionnera peut-être des baisses de performance si un très grand nombre d'alias virtuels existe pour un utilisateur donné (le traitement n'intervenant pas spécifiquement pour l'entrée modifiée).
*/
function modifEtatAliasVirtuelsPostfix($pdo) {
function modifEtatAliasVirtuelsPostfix($pdo,$retour_form) {
try {
$compteModifs=0;
foreach ($_POST as $id_alias_virtuel => $etat_alias_virtuel) {
foreach ($retour_form as $id_alias_virtuel => $etat_alias_virtuel) {
$req='UPDATE postfix_alias_virtuels SET active=:etat_alias_virtuel WHERE id=:id_alias_virtuel AND destination=:pseudo_utilisateur';
$sql=$pdo->prepare($req);
@@ -124,12 +124,12 @@ function modifEtatAliasVirtuelsPostfix($pdo) {
/**
* Fonction de suppression d'un alias virtuel.
*/
function supprAliasVirtuelsPostfix($pdo) {
function supprAliasVirtuelsPostfix($pdo,$suppr_alias_virtuel) {
try {
$req='DELETE FROM postfix_alias_virtuels WHERE id=:id_alias_virtuel AND destination=:pseudo_utilisateur';
$sql=$pdo->prepare($req);
$sql->bindValue(':id_alias_virtuel',$_GET['supprAliasVirtuel']);
$sql->bindValue(':id_alias_virtuel',$suppr_alias_virtuel);
$sql->bindValue(':pseudo_utilisateur',$_SESSION['pseudo_utilisateur']);
$sql->execute();