Nettoyage des données

Catégorie : Manuel
Cake fournit la classe Sanitize, qui vous permet de nettoyer les données de vos formulaires afin d'éviter les attaques et la perte de données.
Il s'agit d'une librairie de core. Elle peut donc être utilisée n'importe ou dans votre code. Mais il est tout de même mieux de l'utiliser dans vos controlleurs ou modèles.

// On inclue la librairie
uses('sanitize');

// On crée l'objet sanitize
$mrClean = new Sanitize();

Vous pouvez maintenant utiliser les fonctions suivantes pour protéger vos données :

  • paranoid

    • string $string
    • array $allowedChars
Supprime tous les caractères non alpha numériques et non présents dans $allowedChars.

$badString = ";:<script><html><   // >@@#";

echo $mrClean->paranoid($badString);

// affichera : scripthtml

echo $mrClean->paranoid($badString, array(' ', '@'));

// affichera : scripthtml    @@


  • html

    • string $string
    • boolean $remove = false
Si $remove = false alors, la fonction htmlentities() sera appellée, de manière à afficher l'html comme du texte.
Si $remove = true alors, les balises html seront supprimées avec l'utilisation de strip_tags().

  • sql

    • string $string
Ajoute des slashes à vos requetes SQL, en fonction de la configuration de magic_quotes_gpc.

  • cleanArray

    • array @$dirtyArray
Nettoie tous les éléments d'un tableau.
La fonction ne retourne rien car la variable est passée par référence.

Chacune des opérations suivante est executée récursivement sur chacun des éléments du tableau :
  • Remplacement des espaces spéciaux par des espaces normaux.
  • Remplacement des balises html par leur équivalent textuel (et ajout d'un \n pour la balise br).
  • Suppression des caractères spéciaux et des retour chariot pour éviter les failles sql.
  • Ajout de slashes pour SQL (appel à la fonction données plus haut)
  • Remplacement des antislashes entrés par l'utilisateur par des antislashes "sécurisés".




Identification

Statistiques

153 utilisateurs
32 articles
6 connectes

CakePHP-fr

Actualites

PHP 5.2.2 et PHP 4.4.7
L'équipe de développement de PHP ...
Poste le : 04/05/2007


Nouvelles version CakePHP
Deux nouvelles versions de Cake voient le jour ...
Poste le : 06/04/2007


PHP 4.4.6
L'équipe de développement de PHP ...
Poste le : 01/03/2007


Sortie de PHP 5.2.1
L'équipe de développement de PHP ...
Poste le : 09/02/2007


Cake 1.1.13.4450 et 1.2.0.4451alpha
PhpNut nous l'annonce aujourd'hui, les versions...
Poste le : 05/02/2007


Liens