PHP > Mes fonctions personnalisées préférées

Posted by nicoss01 on 30 juillet 2009 in Mes Tutoriaux |

Voici la liste des fonctions PHP que j’utilise régulièrement dans mes scripts PHP

Filtrage des données

Supprimer les accents

function supprimerAccents($texte) {
$caracteresAvecAccents= "áéíóúýÁÉÍÓÚÝàèìòùÀÈÌÒÙäëïöüÿÄËÏÖÜâêîôûÂÊÎÔÛåÅøØßçÇãñõÃÑÕ";
$caracteresSansAccents= "aeiouyAEIOUYaeiouAEIOUaeiouyAEIOUaeiouAEIOUaAoOscCanoANO";
return trim(strtr($texte, $caracteresAvecAccents, $caracteresSansAccents));
}

Confirmation d’origine des données d’un formulaire

Afin de garantir la sécurité de vos formulaires, il est indispensable de valider l’origine des données afin d’être sur quelles proviennent bien de votre formulaire.

Pour cela nous allons générer un TOKEN unique qui sera envoyé avec les données du formulaire puis vérifié avant le traitement des données.

// démarrage de la session
session_start();
// génération du token
$token = md5(uniqid(rand(), true));
// stockage du token dans la session
$_SESSION['token'] = $token;
?>

Maintenant nous allons mettre en place la sécurité sur le script qui traitera les données.

// démarrage de la session
session_start();
// vérification de la différence du token stocké et envoyé
if($_POST['token']!=$_SESSION['token'])
// arrêt de l'exécution du script et affichage d'un message d'erreur
die('Erreur : transmission des données incorrecte !');
// placer ici la suite du traitement
?>

Il vous suffit de placer ce code en début de fichier pour éviter les envois de données autrement que par votre formulaire

Nettoyage de sécurité des chaines de caractères

Cette fonction permet de supprimer les données non souhaitées d’une chaine de caractère

function securite($chaine){
    return stripslashes(htmlentities(addcslashes(strip_tags(trim($chaine)))));
}

Si vous souhaitez filtrer toutes les données envoyées avec votre formulaire, vous pouvez combiner le code précédent avec celui qui suit

foreach($_POST as $cle=>$valeur)
$$cle=securite($valeur);

Ce code a pour effet de créer une variable php par champs HTML envoyé, par exemple si vous avez créé un champ de nom « toto » (name=’toto’) vous aurez une variable $toto qui contiendra les données du champ toto filtrées avec notre fonction.

Mots-clefs :, ,

Laisser un commentaire