Formation référencement lyon
BlogBang

jeudi 30 juillet 2009

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

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.



<PHP?
// 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.



<?PHP
// 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.

Libellés : , ,


Commentaires :

Enregistrer un commentaire



Liens vers ce message :

Créer un lien



<< Accueil

Abonnement Messages [Atom]