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 : developpement web, fonctions PHP, PHP
Abonnement Messages [Atom]
Erreurs 404 


Enregistrer un commentaire