MySQL prend les mesures suivantes pour éviter une utilisation abusive des fonctions utilisateurs.
          Vous devez avoir les droits de INSERT pour
          être capable d'utiliser la commande CREATE
          FUNCTION et le droit de DELETE
          pour être capable d'effacer une fonction (DROP
          FUNCTION. Ceci est nécessaire car ces commandes
          ajoutent et suppriment des lignes dans la table
          mysql.func.
        
          UDF doit avoir au moins un symbole défini, en plus du symbole
          xxx qui correspond à la fonction
          principale xxx(). Ces symboles auxiliaires
          correspondent aux fonctions xxx_init(),
          xxx_deinit(),
          xxx_reset(), xxx_clear()
          et xxx_add(). Depuis MySQL 4.0.24, 4.1.10a
          et 5.0.3, mysqld supporte l'option
          --allow-suspicious-udfs qui spécifie si les
          UDF qui n'ont qu'une fonction xxx peuvent
          être chargées. Par défaut, cette fonction est désactivée,
          ce qui empêche les fonctions de charger des fonctions depuis
          des objets partagés autres que les UDF légales. Si vous avez
          de vieilles fonctions UDF qui contiennent uniquement le
          symbole xxx qui ne peuvent pas être
          recompilées pour utiliser un symbole auxiliaire, il sera
          nécessaire d'utiliser l'option
          --allow-suspicious-udfs. Sinon, vous devrez
          vous passer de cette fonctionnalité.
        
          Les fichiers d'objet UDF ne peuvent pas être placés dans
          n'importe quel dossier. Ils doivent être placés dans un
          dossier système que le compilateur dynamique peut analyser.
          Pour assurer le fonctionnement de cette restriction, et
          éviter les attaques par spécification de chemins arbitraires
          en dehors de ceux que le compilateur dynamique peut atteindre,
          MySQL vérifie dans le nom de l'objet partagé spécifié dans
          la commande CREATE FUNCTION la présence de
          délimiteurs de dossiers. Depuis MySQL 4.0.24, 4.1.10a et
          5.0.3, MySQL vérifie aussi les délimiteurs de fichiers
          stockés dans la table mysql.func lorsque
          vous chargez les fonctions. Cela évite les tentatives de
          spécifications de chemins interdits, en manipulant
          directement les tables mysql.func. Pour
          plus de détails sur les UDF et le compilateur dynamique,
          voyez Section 27.2.3.5, « Compiler et installer des fonctions utilisateurs ».
        
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

